Skip to content

Instantly share code, notes, and snippets.

@mastro35
Last active July 6, 2021 23:47
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mastro35/0c433bb13d0efa347ce0fbf8ec1cb225 to your computer and use it in GitHub Desktop.
Save mastro35/0c433bb13d0efa347ce0fbf8ec1cb225 to your computer and use it in GitHub Desktop.
import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
PATHTOBEOBSERVED = '.'
def on_created(event):
print(f"hey, {event.src_path} has been created!")
def on_deleted(event):
print(f"what the f**k! Someone deleted {event.src_path}!")
def on_modified(event):
print(f"hey buddy, {event.src_path} has been modified")
def on_moved(event):
print(f"ok ok ok, someone moved {event.src_path} to {event.dest_path}")
if __name__ == "__main__":
patterns = "*"
ignore_patterns = ""
ignore_directories = False
case_sensitive = True
my_event_handler = PatternMatchingEventHandler(patterns, ignore_patterns, ignore_directories, case_sensitive)
my_event_handler.on_created = on_created
my_event_handler.on_deleted = on_deleted
my_event_handler.on_modified = on_modified
my_event_handler.on_moved = on_moved
path = PATHTOBEOBSERVED
go_recursively = True
my_observer = Observer()
my_observer.schedule(my_event_handler, path, recursive=go_recursively)
my_observer.start()
try:
while True:
time.sleep(0.3)
except KeyboardInterrupt:
my_observer.stop()
my_observer.join()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment