| import sys |
| import time |
| from watchdog import Observer |
| from watchdog.events import FileSystemEventHandler |
| import logging |
| |
| logging.basicConfig(level=logging.DEBUG) |
| |
| class MyEventHandler(FileSystemEventHandler): |
| def catch_all_handler(self, event): |
| logging.debug(event) |
| |
| def on_moved(self, event): |
| self.catch_all_handler(event) |
| |
| def on_created(self, event): |
| self.catch_all_handler(event) |
| |
| def on_deleted(self, event): |
| self.catch_all_handler(event) |
| |
| def on_modified(self, event): |
| self.catch_all_handler(event) |
| |
| |
| event_handler = MyEventHandler() |
| observer = Observer() |
| observer.schedule('a-unique-name', event_handler, sys.argv[1:], recursive=True) |
| observer.start() |
| try: |
| while True: |
| time.sleep(1) |
| except KeyboardInterrupt: |
| observer.unschedule('a-unique-name') |
| observer.stop() |
| observer.join() |
| |