@@ -87,14 +87,16 @@ def __getitem__(self, item):
87
87
:return:
88
88
"""
89
89
item = self .key_conv .serialize (item )
90
-
91
- if self .is_changed (item ):
92
- logger .info ("File content change in {}" .format (item ))
93
- fname = os .path .join (self .fdir , item )
94
- self .storage [item ] = self ._read_info (fname )
95
-
96
- logger .debug ('Read from "%s"' , item )
97
- return self .storage [item ]
90
+ if self ._is_file (item ):
91
+ if self .is_changed (item ):
92
+ logger .info ("File content change in {}" .format (item ))
93
+ fname = os .path .join (self .fdir , item )
94
+ self .storage [item ] = self ._read_info (fname )
95
+
96
+ logger .debug ('Read from "%s"' , item )
97
+ return self .storage [item ]
98
+ else :
99
+ raise KeyError (item )
98
100
99
101
def __setitem__ (self , key , value ):
100
102
"""
@@ -163,31 +165,32 @@ def get_mtime(fname):
163
165
164
166
return mtime
165
167
168
+ def _is_file (self , item ):
169
+ fname = os .path .join (self .fdir , item )
170
+ return os .path .isfile (fname )
171
+
166
172
def is_changed (self , item ):
167
173
"""
168
- Find out if this item has been modified since last
174
+ Find out if this item has been modified since last.
175
+ When I get here I know that item points to an existing file.
169
176
170
177
:param item: A key
171
178
:return: True/False
172
179
"""
173
180
fname = os .path .join (self .fdir , item )
174
- if os .path .isfile (fname ):
175
- mtime = self .get_mtime (fname )
181
+ mtime = self .get_mtime (fname )
176
182
177
- try :
178
- _ftime = self .fmtime [item ]
179
- except KeyError : # Never been seen before
180
- self .fmtime [item ] = mtime
181
- return True
182
-
183
- if mtime > _ftime : # has changed
184
- self .fmtime [item ] = mtime
185
- return True
186
- else :
187
- return False
183
+ try :
184
+ _ftime = self .fmtime [item ]
185
+ except KeyError : # Never been seen before
186
+ self .fmtime [item ] = mtime
187
+ return True
188
+
189
+ if mtime > _ftime : # has changed
190
+ self .fmtime [item ] = mtime
191
+ return True
188
192
else :
189
- logger .error ('Could not access {}' .format (fname ))
190
- raise KeyError (item )
193
+ return False
191
194
192
195
def _read_info (self , fname ):
193
196
if os .path .isfile (fname ):
0 commit comments