class ConfigChangeHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY(self, event):
- print("Configuration file modified.")
- for task in asyncio.all_tasks():
- if task is not asyncio.current_task():
- task.cancel()
+ if event.pathname == os.path.abspath(sys.argv[1]):
+ print(f"Configuration file modified: {event.pathname}")
+ for task in asyncio.all_tasks():
+ if task is not asyncio.current_task():
+ task.cancel()
async def add_config_change_handler() -> pyinotify.AsyncioNotifier:
notifier = pyinotify.AsyncioNotifier(wm, loop,
default_proc_fun=ConfigChangeHandler())
wm.add_watch(os.path.dirname(sys.argv[1]), pyinotify.ALL_EVENTS)
- wm.add_watch(sys.argv[1], pyinotify.ALL_EVENTS)
return notifier