Skip to content

Instantly share code, notes, and snippets.

@KentaYamada
Last active May 16, 2020 08:54
Show Gist options
  • Save KentaYamada/44391c8f65c0103c4c3286a41b2a8ad5 to your computer and use it in GitHub Desktop.
Save KentaYamada/44391c8f65c0103c4c3286a41b2a8ad5 to your computer and use it in GitHub Desktop.
Sample python watchdog
import time
import subprocess
from watchdog.events import PatternMatchingEventHandler
from watchdog.observers import Observer
class TestFileWatchEventHandler(PatternMatchingEventHandler):
def __run_test(self):
subprocess.call('python3 -m unittest discover ./tests', shell=True)
def on_created(self, event):
self.__run_test()
def on_modified(self, event):
self.__run_test()
def on_moved(self, event):
self.__run_test()
if __name__ == '__main__':
event_handler = TestFileWatchEventHandler(
patterns=['*.py'])
observer = Observer()
observer.schedule(event_handler, './tests', recursive=True)
observer.start()
print('Watching test files...')
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.stop()
print('Stop watch test files')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment