c = self._conn.cursor()
c.execute("SELECT file_dir FROM cache WHERE name=? AND size=? AND meta_time=?",
(name, size, meta_time))
-
cached = c.fetchone()
if cached:
- # if os.path.isfile(cached[0]) and \
- # os.path.getsize(cached[0]) == size and \
- # misc.extract_meta_time(cached[0]) == meta_time:
- if os.path.isfile(cached[0]) and \
- os.path.getsize(cached[0]) == size:
- self._update_cache_access_time(name, size, meta_time)
- return cached[0]
- else:
- self._remove_from_cache(name, size, meta_time)
-
- file_dir = misc.find_file(self._base_dir, name, size, meta_time,
- self._exclude_dir)
- if file_dir:
- self._clean_cache()
- self._add_to_cache(name, size, meta_time, file_dir)
- return file_dir
+ return cached[0]
+ else:
+ file_dir = misc.find_file(self._base_dir, name, size, meta_time,
+ self._exclude_dir)
+ if file_dir:
+ self._clean_cache()
+ self._add_to_cache(name, size, meta_time, file_dir)
+ return file_dir
def close(self):
logging.info("Closing locator for %s...", self._base_dir)