watchdog-run.py 899 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# Watchdog script to check if there has been any change in a particular
# package. This is to ensure that the packages stay up-to-date.

import sys
import subprocess
import time
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler

class ShellEventHandler(LoggingEventHandler):
    def on_modified(self, event):
        subprocess.call(['./snapshot_from_repo.sh'])


if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
20
    path = "./watches"
21 22 23 24 25 26 27 28 29 30
    event_handler = ShellEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()