Duplicated output with Watchdog library

156 Views Asked by At

I'm working with watchdog library, and want to send e-mails when a file is saved on a folder.
My problem is that when I save any pdf file on the folder, the module registers 4 modified events, and send four e-mails. Can anyone suggest how can I fix it ?

Here is my code. I used print just to exemplify.

'''

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

   

class Handler(FileSystemEventHandler):
    def on_modified(self, event):
        print('Modified')


folder_to_track = 'path'

observer = Observer()
event_handler = Handler()
observer.schedule(event_handler, folder_to_track, recursive=True)
observer.start()


try:
    print('Monitoring')
    while True:
        time.sleep(1)

except KeyboardInterrupt:
    observer.stop()
    print('Done')
observer.join()

'''

Output: Modified Modified Modified Modified

0

There are 0 best solutions below