Files
gitea-sync-ai/app/file_watcher.py
T

25 lines
762 B
Python

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from pathlib import Path
class FileChangeHandler(FileSystemEventHandler):
def __init__(self, callback=None):
self.callback = callback
def on_modified(self, event):
if not event.is_directory:
if self.callback:
self.callback(event.src_path)
print(f"[Watcher] Datei geändert: {event.src_path}")
def start_watcher(path: Path, callback=None):
"""Startet den File-Watcher in einem Hintergrundthread."""
event_handler = FileChangeHandler(callback=callback)
observer = Observer()
observer.schedule(event_handler, str(path), recursive=True)
observer.start()
return observer