When I use the below code to monitor any storage location on the same server, it is working perfectly. Whereas, when I try to use the same with the network drive(Mapped to my machine already), it doesn't work. Please have a look at the code and suggest how to proceed. Please let me know if I can use any other library or other technology to achieve the purpose. Currently I am using Python Watchdog Library.
import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
from watchdog.observers.polling import PollingObserver
import os
import hashlib
import shutil,time
if __name__ == "__main__":
patterns = "*"
ignore_patterns = ""
ignore_directories = False
case_sensitive = True
my_event_handler = PatternMatchingEventHandler(patterns, ignore_patterns, ignore_directories, case_sensitive)
def on_created(event):
print(f"hey, {event.src_path} has been created!")
def on_deleted(event):
print(f"Someone deleted {event.src_path}!")
def on_modified(event):
print(f"{event.src_path} has been modified")
def on_moved(event):
print(f"someone moved {event.src_path} to {event.dest_path}")
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 = "\\\\apc.ent.petap.net\\dfs\\Resource\\ABS\\ARCHIVE\\" ##This is my shared drive, I also tried #mapping it to the system, but the same thing I am getting. No error, but no response.
go_recursively = True
#my_observer = Observer()
my_observer = PollingObserver()
my_observer.schedule(my_event_handler, path, recursive=go_recursively)
my_observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
my_observer.stop()
my_observer.join()