Module bug_trail.incremental

Expand source code
import time

from watchdog.events import FileModifiedEvent, FileSystemEventHandler
from watchdog.observers import Observer


class DbChangedHandler(FileSystemEventHandler):
    def __init__(self, target):
        self.target = target
        super().__init__()

    def on_modified(self, event):
        if isinstance(event, FileModifiedEvent):
            if event.src_path.endswith(".db"):
                print(event)
                self.target()


def watch_for_changes(path: str, target):
    event_handler = DbChangedHandler(target)
    observer = Observer()
    observer.schedule(event_handler, path, recursive=False)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

Functions

def watch_for_changes(path: str, target)
Expand source code
def watch_for_changes(path: str, target):
    event_handler = DbChangedHandler(target)
    observer = Observer()
    observer.schedule(event_handler, path, recursive=False)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

Classes

class DbChangedHandler (target)

Base file system event handler that you can override methods from.

Expand source code
class DbChangedHandler(FileSystemEventHandler):
    def __init__(self, target):
        self.target = target
        super().__init__()

    def on_modified(self, event):
        if isinstance(event, FileModifiedEvent):
            if event.src_path.endswith(".db"):
                print(event)
                self.target()

Ancestors

  • watchdog.events.FileSystemEventHandler

Methods

def on_modified(self, event)

Called when a file or directory is modified.

:param event: Event representing file/directory modification. :type event: :class:DirModifiedEvent or :class:FileModifiedEvent

Expand source code
def on_modified(self, event):
    if isinstance(event, FileModifiedEvent):
        if event.src_path.endswith(".db"):
            print(event)
            self.target()