]> git.za3k.com Git - blog.git/commitdiff
Ignore file open/close events, common dir events
authorZachary Vance <za3k@za3k.com>
Wed, 3 Jul 2024 05:20:01 +0000 (01:20 -0400)
committerZachary Vance <za3k@za3k.com>
Wed, 3 Jul 2024 05:20:01 +0000 (01:20 -0400)
monitor.py

index 33ef5982bbf4d938bcac30e26628f402d985e2d5..bd0acf286a07e15a1344eb0a8c3199fe46321bd8 100644 (file)
@@ -40,13 +40,19 @@ class Monitor():
         return (self.discard_rapid is not None and 
                 elapsed < self.discard_rapid)
 
+    ignore_events = [
+        watchdog.events.FileOpenedEvent,
+        watchdog.events.FileClosedEvent,
+        watchdog.events.DirModifiedEvent,
+    ]
     def _iter(self):
         try:
             while True:
                 event = self.updates.get()
-                yield event.src_path
-                if hasattr(event, "dest_path"):
-                    yield event.dest_path
+                if not any(isinstance(event, t) for t in self.ignore_events):
+                    yield event.src_path
+                    if hasattr(event, "dest_path"):
+                        yield event.dest_path
                 self.updates.task_done()
         except KeyboardInterrupt:
             self.observer.stop()