@@ -87,14 +87,16 @@ def __getitem__(self, item):
8787 :return:
8888 """
8989 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 )
98100
99101 def __setitem__ (self , key , value ):
100102 """
@@ -163,31 +165,32 @@ def get_mtime(fname):
163165
164166 return mtime
165167
168+ def _is_file (self , item ):
169+ fname = os .path .join (self .fdir , item )
170+ return os .path .isfile (fname )
171+
166172 def is_changed (self , item ):
167173 """
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.
169176
170177 :param item: A key
171178 :return: True/False
172179 """
173180 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 )
176182
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
188192 else :
189- logger .error ('Could not access {}' .format (fname ))
190- raise KeyError (item )
193+ return False
191194
192195 def _read_info (self , fname ):
193196 if os .path .isfile (fname ):
0 commit comments