+ 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
+ finally:
+ self._lock.release()
+
+ def reset(self):
+ self._got_event = False
+ self._last_reset_time = time.time()
+
+ def on_any_event(self, event):
+ self._lock.acquire()
+ try:
+ self._got_event = True
+ self._last_event_time = time.time()
+ finally:
+ self._lock.release()