diff --git a/src/Debug/DebugReloader.py b/src/Debug/DebugReloader.py index 1a9760ec..f49dc5e9 100644 --- a/src/Debug/DebugReloader.py +++ b/src/Debug/DebugReloader.py @@ -23,14 +23,14 @@ class DebugReloader: self.last_chaged = 0 self.callbacks = [] if enabled: - observer = watchdog.observers.Observer() + self.observer = watchdog.observers.Observer() event_handler = watchdog.events.FileSystemEventHandler() event_handler.on_modified = event_handler.on_deleted = self.onChanged event_handler.on_created = event_handler.on_moved = self.onChanged for path in paths: self.log.debug("Adding autoreload: %s" % path) - observer.schedule(event_handler, path, recursive=True) - observer.start() + self.observer.schedule(event_handler, path, recursive=True) + self.observer.start() def addCallback(self, f): self.callbacks.append(f) @@ -49,4 +49,9 @@ class DebugReloader: except Exception as err: self.log.exception(err) + def stop(self): + if enabled: + self.observer.stop() + self.log.debug("Stopped autoreload observer") + watcher = DebugReloader() diff --git a/src/Ui/UiServer.py b/src/Ui/UiServer.py index f445eb70..3c1adfb8 100644 --- a/src/Ui/UiServer.py +++ b/src/Ui/UiServer.py @@ -182,6 +182,9 @@ class UiServer: self.log.debug("Http connection close error: %s" % err) self.log.debug("Socket closed: %s" % sock_closed) time.sleep(0.1) + if config.debug: + from Debug import DebugReloader + DebugReloader.watcher.stop() self.server.socket.close() self.server.stop() @@ -189,4 +192,4 @@ class UiServer: def updateWebsocket(self, **kwargs): for ws in self.websockets: - ws.event("serverChanged", kwargs) + ws.event("serverChanged", kwargs) \ No newline at end of file