from pathlib import Path from watchdog.events import FileSystemEventHandler class htmlhandler(FileSystemEventHandler): def __init__(self, render_func, remove_func): self.render_func = render_func self.remove_func = remove_func def on_created(self, event): if not event.is_directory and event.src_path.endswith(".md"): self.render_func(Path(event.src_path)) def on_modified(self, event): if not event.is_directory and event.src_path.endswith(".md"): self.render_func(Path(event.src_path)) def on_deleted(self, event): if not event.is_directory and event.src_path.endswith(".md"): self.remove_func(Path(event.src_path)) def on_moved(self, event): src = Path(event.src_path) dest = Path(event.dest_path) if src.suffix.lower() == ".md": self.remove_func(src) if dest.suffix.lower() == ".md": self.render_func(dest)