OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 future import Gettable, Future | 5 from future import Gettable, Future |
6 | 6 |
7 | 7 |
8 class FileNotFoundError(Exception): | 8 class _BaseFileSystemException(Exception): |
| 9 def __init__(self, message): |
| 10 Exception.__init__(self, message) |
| 11 |
| 12 @classmethod |
| 13 def RaiseInFuture(cls, message): |
| 14 def boom(): raise cls(message) |
| 15 return Future(delegate=Gettable(boom)) |
| 16 |
| 17 |
| 18 class FileNotFoundError(_BaseFileSystemException): |
9 '''Raised when a file isn't found for read or stat. | 19 '''Raised when a file isn't found for read or stat. |
10 ''' | 20 ''' |
11 def __init__(self, filename): | 21 def __init__(self, filename): |
12 Exception.__init__(self, filename) | 22 _BaseFileSystemException.__init__(self, filename) |
13 | 23 |
14 | 24 |
15 class FileSystemError(Exception): | 25 class FileSystemError(_BaseFileSystemException): |
16 '''Raised on when there are errors reading or statting files, such as a | 26 '''Raised on when there are errors reading or statting files, such as a |
17 network timeout. | 27 network timeout. |
18 ''' | 28 ''' |
19 def __init__(self, filename): | 29 def __init__(self, filename): |
20 Exception.__init__(self, filename) | 30 _BaseFileSystemException.__init__(self, filename) |
21 | 31 |
22 | 32 |
23 class StatInfo(object): | 33 class StatInfo(object): |
24 '''The result of calling Stat on a FileSystem. | 34 '''The result of calling Stat on a FileSystem. |
25 ''' | 35 ''' |
26 def __init__(self, version, child_versions=None): | 36 def __init__(self, version, child_versions=None): |
27 self.version = version | 37 self.version = version |
28 self.child_versions = child_versions | 38 self.child_versions = child_versions |
29 | 39 |
30 def __eq__(self, other): | 40 def __eq__(self, other): |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 yield walkinfo | 143 yield walkinfo |
134 | 144 |
135 for walkinfo in walk(root): | 145 for walkinfo in walk(root): |
136 yield walkinfo | 146 yield walkinfo |
137 | 147 |
138 def __repr__(self): | 148 def __repr__(self): |
139 return '<%s>' % type(self).__name__ | 149 return '<%s>' % type(self).__name__ |
140 | 150 |
141 def __str__(self): | 151 def __str__(self): |
142 return repr(self) | 152 return repr(self) |
OLD | NEW |