def watch_project(markdown_fn, output_fn, template_fn, render_first=True): class Handler(FileSystemEventHandler): def on_any_event(self, event): if event.src_path == os.path.abspath(output_fn): return print('Rendering slides...') process_slides(markdown_fn, output_fn, template_fn) if render_first == True: process_slides(markdown_fn, output_fn, template_fn) observer = Observer() event_handler = Handler() dirname = os.path.dirname(os.path.abspath(markdown_fn)) observer.schedule(event_handler, path=dirname, recursive=True) print("Watching for events on {:s}...".format(dirname)) observer.start() try: while True: time.sleep(0.5) except KeyboardInterrupt: observer.stop() observer.join()
def on_any_event(self, event): if event.src_path == os.path.abspath(output_fn): return print('Rendering slides...') process_slides(markdown_fn, output_fn, template_fn)