def main(argv=None): path = argv[1] filename = argv[2] observer = Observer() event_handler = MyEventHandler(observer, filename) observed_watch = observer.schedule(event_handler, path, recursive=False) observer.start() # used to have the possibility to intercept keyboard interrupts try: while observer.should_keep_running(): time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join() return 0
def watch(arguments): path = get_directory(arguments) filename = arguments['FILE'] if filename: path = os.path.dirname(os.path.join(path, filename)) filename = os.path.split(filename)[-1] ensure_valid_watch_directory(path) else: filename = 'theme.html' ensure_valid_watch_directory(path) observer = Observer() event_handler = Watcher(observer, arguments, path, filename) observer.schedule(event_handler, path=path, recursive=True) observer.start() try: while observer.should_keep_running(): time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()