Files
test_dashboard/server/watcher.py
T
2026-06-03 16:15:09 -04:00

29 lines
889 B
Python

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()