import os import sys import time from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler class TestResultsHandler(FileSystemEventHandler): def __init__(self, callback): super().__init__() self.callback = callback def on_created(self, event): if event.is_directory: print(f"[watcher] Detected new test result directory: {event.src_path}") self.callback(event.src_path) def start_watching_results_dir(results_dir, callback): event_handler = TestResultsHandler(callback) observer = Observer() observer.schedule(event_handler, results_dir, recursive=False) observer.start() print(f"[watcher] Started watching for new test results in: {results_dir}") try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()