Kyoo/scanner/monitor/monitor.py
2024-04-09 23:58:48 +02:00

20 lines
495 B
Python

from logging import getLogger
from watchfiles import awatch, Change
from monitor.publisher import Publisher
logger = getLogger(__name__)
async def monitor(path: str, publisher: Publisher):
async for changes in awatch(path):
for event, file in changes:
if event == Change.added:
await publisher.add(file)
elif event == Change.deleted:
await publisher.delete(file)
elif event == Change.modified:
pass
else:
logger.info(f"Change {event} occured for file {file}")