allora, ho fatto qualcosa, ovviamente simulato tutto su pc.
in teoria poi saranno solo da cambiare i path.
cmq, questa la classe handler per watchdog:
	codice:
	from watchdog.events import FileSystemEventHandler
class MonitorFile(FileSystemEventHandler):
    def on_deleted(self, event):
        print(event.src_path, event.event_type)
 
poi lancio tutto così:
	codice:
	import shutil
import time
from watchdog.observers import Observer
from MonitorFile import MonitorFile
def crea_semaforo(file):
    file_semaforo = './test_semaforo/semaforo'
    shutil.move('./csv/' + file, './test_file/' + file)
    f = open(file_semaforo, "a")
    f.write("")
    f.close()
def start_monitor(dir):
    event_handler = MonitorFile()
    observer = Observer()
    observer.schedule(event_handler, path=dir, recursive=False)
    print("Monitoring started")
    observer.start()
    try:
        while (True):
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
        observer.join()
 
e poi lancio tutto così:
	codice:
	if __name__ == '__main__':
    fatture()
    crea_semaforo(get_first_file('./csv'))
    time.sleep(2)
    dir_semaforo = './test_semaforo'
    start_monitor(dir_semaforo)
 
- lancio la funzione fatture() --> ok
- lo spostamento del file, da cui deriva tutto, funziona
- la creazione del file semaforo funziona
- il monitor parte correttamente
- quando cancello il semaforo, vedo che l'evento viene intercettato
quello che mi manca è stoppare il monitor e ricominciare diciamo.
quindi, quando quello specifico file viene cancellato dovrei:
- stoppare il monitor
- rilanciare la crea_semaforo