Esempio n. 1
0
 def on_deleted(self, event):
     '''
     @summary: ファイル削除イベント
     '''
     if event.is_directory:
         pass
     else:
         self.watcher.index.remove([event.src_path])
     logger.debug("DELETE %s" % event.src_path)
     FileSystemEventHandler.on_deleted(self, event)
Esempio n. 2
0
    def __init__(self, hplayer):

        # Interface settings
        super(KeyboardInterface, self).__init__(hplayer, "Keyboard")

        # keyboard connection watchdog
        event_handler = FileSystemEventHandler()
        event_handler.on_created = self.bind
        event_handler.on_deleted = self.unbind
        self.observer = Observer()
        self.observer.schedule(event_handler, '/dev/input/', recursive=False)
        self.observer.start()
        self.remote = None

        self.holdDebounce = 5

        self.bind(self.detect())
        f"{datetime.datetime.now()}: {event.src_path} moved to {event.dest_path}"
    )


if __name__ == "__main__":  # указываем, какая область кода не будет выполняться,
    # если наш модуль импортирован в другой скрипт
    # patterns = "*"
    # ignore_patterns = ""
    # ignore_directories = False
    # case_sensitive = True
    # event_handler = PatternMatchingEventHandler
    event_handler = FileSystemEventHandler(
    )  #создаем обработчик, который реагирует на поступление определенного события
    # только он ничего не умеет, так что придется его научить теми процедурами, которые мы написали ранее:
    event_handler.on_created = on_created
    event_handler.on_deleted = on_deleted
    event_handler.on_modified = on_modified
    event_handler.on_moved = on_moved

    path = "dir_to_watch"
    go_recursively = True
    observer = Observer(
    )  # создаем наблюдатель, определяет зависимость "один-ко-многим"
    # между объектами так, что при изменении состояния одного объекта
    # все зависящие от него объекты уведомляются и обновляются автоматически
    observer.schedule(event_handler, path, recursive=go_recursively)
    # Observer является относительно далеким потомком threading.Thread,
    # соотвественно после вызова start() мы получаем фоновый поток,
    # следящий за изменениями.
    # Так что если скрипт сразу завершится, то ничего толкового мы не получим.
    observer.start()
Esempio n. 4
0
import logging
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler


def do(arg):
    print(arg)


def undo(arg):
    print('undo', arg)


if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
    path = '/dev/input/'
    event_handler = FileSystemEventHandler()
    event_handler.on_created = do
    event_handler.on_deleted = undo
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()
Esempio n. 5
0
 def on_deleted(self, event):
     FileSystemEventHandler.on_deleted(self, event)
     src_relpath = os.path.abspath(event.src_path)
     self._onchange(src_relpath, FsProvider.DELETE, self.sender.get_uid())
Esempio n. 6
0
    change_type = event.event_type
    class_name = event.__class__.__name__
    if re.match('^Dir', class_name):
        if DEBUG:
            print '    - skipped dir |%s|' %(path)
            return

    return process_change(change_type, path)


if __name__ == '__main__':
    OBSERVER = Observer()
    EVENT_HANDLER = FileSystemEventHandler()
    EVENT_HANDLER.on_created = on_changed
    EVENT_HANDLER.on_modified = on_changed
    EVENT_HANDLER.on_deleted = on_changed

    ## The following event types are not supported
    # EVENT_HANDLER.on_moved     = on_changed
    # EVENT_HANDLER.on_any_event = on_changed

    OBSERVER.schedule(EVENT_HANDLER, LOCAL_PATH, recursive=True)
    OBSERVER.start()

    try:
        while True:
            time.sleep(10)
    except KeyboardInterrupt:
        OBSERVER.stop()

    OBSERVER.join()
Esempio n. 7
0
        # When files are deleted
        pass

    def on_moved(self, event):
        # When files are moved
        pass


if __name__ == "__main__":
    # Initialise file system event handler
    fs_event_handler = FileSystemEventHandler()

    # Calling funcs
    fs_event_handler.on_modified = Handler().on_modified
    fs_event_handler.on_created = Handler().on_created
    fs_event_handler.on_deleted = Handler().on_deleted
    fs_event_handler.on_moved = Handler().on_moved

    # Initialise Observer
    observer_fs = Observer()
    observer_fs.schedule(fs_event_handler, path, recursive=False)

    # Start the observer observer_fs
    observer_fs.start()
    try:
        print("")
        print("######## SMRT File Watcher: Active ########")
        print(f"Put your SMRT files here -> {path}...")
        while True:
            time.sleep(5)
    except KeyboardInterrupt: