Source code for pycalibration.watchdog

#  Copyright (c) 2017-2022 Jeorme Douay <jerome@far-out.biz>
#  All rights reserved.

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

[docs]class Watchdog(FileSystemEventHandler): def __init__(self,queue,path='.') -> None: self._queue=queue super().__init__() self._observer=Observer() self._observer.schedule(self, path,recursive=True)
[docs] def process(self,path): self._queue.put(path)
[docs] def on_created(self, event): logging.info('%s moved' %event.src_path) self.process(event.src_path)
[docs] def on_moved(self, event): logging.info('%s created' %event.dest_path) self.process(event.dest_path)
# def on_modified(self, event): # self.process(event)
[docs] def start(self): self._observer.start()
[docs] def stop(self): self._observer.stop() self._observer.join()