• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import logging
2import sys
3import time
4
5from watchdog.events import FileSystemEvent, PatternMatchingEventHandler
6from watchdog.observers import Observer
7
8logging.basicConfig(level=logging.DEBUG)
9
10
11class MyEventHandler(PatternMatchingEventHandler):
12    def on_any_event(self, event: FileSystemEvent) -> None:
13        logging.debug(event)
14
15
16event_handler = MyEventHandler(patterns=["*.py", "*.pyc"], ignore_patterns=["version.py"], ignore_directories=True)
17observer = Observer()
18observer.schedule(event_handler, sys.argv[1], recursive=True)
19observer.start()
20try:
21    while True:
22        time.sleep(1)
23finally:
24    observer.stop()
25    observer.join()
26