From e0ffe0b4f5ce6dce8bddde9c22d2107770327580 Mon Sep 17 00:00:00 2001 From: coder2020official Date: Tue, 30 Aug 2022 21:24:54 +0400 Subject: [PATCH] Added reloader to ext --- telebot/ext/reloader.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 telebot/ext/reloader.py diff --git a/telebot/ext/reloader.py b/telebot/ext/reloader.py new file mode 100644 index 0000000..6ec08a5 --- /dev/null +++ b/telebot/ext/reloader.py @@ -0,0 +1,27 @@ + +from watchdog.events import FileSystemEventHandler +from watchdog.events import FileSystemEvent +import psutil +import os +import sys +import logging + +logger = logging.getLogger('TeleBot') + + + +class EventHandler(FileSystemEventHandler): + def on_any_event(self, event: FileSystemEvent): + logger.info('* Detected changes in: %s , reloading', (event.src_path)) + restart_file() + +def restart_file(): + try: + p = psutil.Process(os.getpid()) + for handler in p.open_files() + p.connections(): + os.close(handler.fd) + except Exception as e: + logger.error(e) + + python = sys.executable + os.execl(python, python, *sys.argv)