From ac799a60da004a779c77a7feff74d00a8c5471f7 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Wed, 10 Apr 2019 14:56:10 +0200 Subject: [PATCH] Stop fs watcher with UiServer --- src/Debug/DebugReloader.py | 11 ++++++++--- src/Ui/UiServer.py | 5 ++++- 2 files changed, 12 insertions(+), 4 deletions(-) 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