| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from file_system import FileSystem, FileNotFoundError | 5 from file_system import FileSystem, FileNotFoundError |
| 6 from future import Future | 6 from future import Future |
| 7 | 7 |
| 8 | 8 |
| 9 class OfflineFileSystem(FileSystem): | 9 class OfflineFileSystem(FileSystem): |
| 10 '''An offline FileSystem which masquerades as another file system. It throws | 10 '''An offline FileSystem which masquerades as another file system. It throws |
| 11 FileNotFound error for all operations, and overrides GetIdentity. | 11 FileNotFound error for all operations, and overrides GetIdentity. |
| 12 ''' | 12 ''' |
| 13 def __init__(self, fs): | 13 def __init__(self, fs): |
| 14 self._fs = fs | 14 self._fs = fs |
| 15 | 15 |
| 16 def Read(self, paths, skip_not_found=False): | 16 def Read(self, paths, skip_not_found=False): |
| 17 if skip_not_found: return Future(value={}) | 17 if skip_not_found: return Future(value={}) |
| 18 def raise_file_not_found(): | 18 def raise_file_not_found(): |
| 19 raise FileNotFoundError('File system is offline, cannot read %s' % paths) | 19 raise FileNotFoundError('File system is offline, cannot read %s' % paths) |
| 20 return Future(callback=raise_file_not_found) | 20 return Future(callback=raise_file_not_found) |
| 21 | 21 |
| 22 def Stat(self, path): | 22 def Stat(self, path): |
| 23 raise FileNotFoundError('File system is offline, cannot read %s' % path) | 23 raise FileNotFoundError('File system is offline, cannot read %s' % path) |
| 24 | 24 |
| 25 def GetIdentity(self): | 25 def GetStableIdentity(self): |
| 26 return self._fs.GetIdentity() | 26 return self._fs.GetStableIdentity() |
| OLD | NEW |