import logging from fsevents import Observer, Stream from djrandom_client import filescan log = logging.getLogger(__name__) class Watcher(object): def __init__(self, base, queue): self.queue = queue self.observer = Observer() self.observer.schedule(Stream(self.callback, base)) self.observer.setDaemon(True) self.observer.start() def callback(self, subpath, mask): log.debug('event in %s: %x' % (subpath, mask)) filescan.directory_scan(subpath, self.queue) def stop(self): self.observer.stop()