]> git.treefish.org Git - photosort.git/blobdiff - src/dirtrigger.py
configurable trigger times
[photosort.git] / src / dirtrigger.py
index 2ea981ccd6afd66cd678d84df9c8dd91f038eb61..67945debac96ab59950d5cb6512f4b1fa1291e7c 100644 (file)
@@ -4,13 +4,13 @@ from watchdog.events import DirDeletedEvent, FileDeletedEvent, FileSystemEventHa
 from watchdog.observers import Observer
 
 class DirTrigger(FileSystemEventHandler):
 from watchdog.observers import Observer
 
 class DirTrigger(FileSystemEventHandler):
-    COOL_TIME = 10
-    MAX_TIME = 86400
 
 
-    def __init__(self, dir_path):
+    def __init__(self, dir_path, cool_time, max_time):
         self._got_event = False
         self._last_event_time = 0.0
         self._last_reset_time = 0.0
         self._got_event = False
         self._last_event_time = 0.0
         self._last_reset_time = 0.0
+        self._cool_time = cool_time
+        self._max_time = max_time
         self._lock = threading.Lock()
         self._observer = Observer()
         self._observer.schedule(self, path=dir_path, recursive=True)
         self._lock = threading.Lock()
         self._observer = Observer()
         self._observer.schedule(self, path=dir_path, recursive=True)
@@ -25,8 +25,8 @@ class DirTrigger(FileSystemEventHandler):
         self._lock.acquire()
         try:
             return ( self._got_event and
         self._lock.acquire()
         try:
             return ( self._got_event and
-                     (time.time() - self._last_event_time > DirTrigger.COOL_TIME) ) or \
-                     time.time() - self._last_reset_time > DirTrigger.MAX_TIME
+                     (time.time() - self._last_event_time > self._cool_time) ) or \
+                     time.time() - self._last_reset_time > self._max_time
         finally:
             self._lock.release()
 
         finally:
             self._lock.release()