]> git.treefish.org Git - photosort.git/blobdiff - src/locator.py
do not re-check cached files
[photosort.git] / src / locator.py
index 7a57e090cba90548ffdc5ccf7bb09f0615f21c97..da74d18432175b6bdb3ec14f8cef6694603c89d0 100644 (file)
@@ -10,10 +10,10 @@ class Locator:
         self._base_dir = base_dir
         self._exclude_dir = exclude_dir
         if not os.path.isfile(db_file):
-            self._conn = sqlite3.connect(db_file)
+            self._conn = sqlite3.connect(db_file, check_same_thread=False)
             self._create_db()
         else:
-            self._conn = sqlite3.connect(db_file)
+            self._conn = sqlite3.connect(db_file, check_same_thread=False)
         logging.info("Opened locator for %s.", self._base_dir)
 
     def locate_file(self, name, size, meta_time):
@@ -22,15 +22,10 @@ class Locator:
                   (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:
-                self._update_cache_access_time(name, size, meta_time)
-                return cached[0]
-            else:
-                self._remove_from_cache(name, size, meta_time)
+            return cached[0]
         else:
-            file_dir = misc.find_file(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)
@@ -61,7 +56,7 @@ class Locator:
 
     def _clean_cache(self):
         c = self._conn.cursor()
-        c.execute("DELETE FROM cache WHERE access_time<?", (int(time.time()) - 604800))
+        c.execute("DELETE FROM cache WHERE access_time<?", (int(time.time()) - 604800,))
         self._conn.commit()
 
     def _create_db(self):