summaryrefslogtreecommitdiff
path: root/backend/loader.py
diff options
context:
space:
mode:
authorAAGaming <aa@mail.catvibers.me>2022-10-07 22:37:29 -0400
committerAAGaming <aa@mail.catvibers.me>2022-10-07 22:38:20 -0400
commita3809222f94fd7a7e08e7c872fef51cf3a6dbfd2 (patch)
treee2a237708241b83944644f84536ed483e93bfa96 /backend/loader.py
parent86dc706892ea980a1b83e615e8308028514d86a9 (diff)
downloaddecky-loader-a3809222f94fd7a7e08e7c872fef51cf3a6dbfd2.tar.gz
decky-loader-a3809222f94fd7a7e08e7c872fef51cf3a6dbfd2.zip
disable file watcher until after 10 seconds
Diffstat (limited to 'backend/loader.py')
-rw-r--r--backend/loader.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/backend/loader.py b/backend/loader.py
index b4d81368..b4559180 100644
--- a/backend/loader.py
+++ b/backend/loader.py
@@ -25,7 +25,7 @@ class FileChangeHandler(RegexMatchingEventHandler):
self.logger = getLogger("file-watcher")
self.plugin_path = plugin_path
self.queue = queue
- self.disabled = False
+ self.disabled = True
def maybe_reload(self, src_path):
if self.disabled:
@@ -70,6 +70,7 @@ class Loader:
self.logger.info(f"plugin_path: {self.plugin_path}")
self.plugins = {}
self.watcher = None
+ self.live_reload = live_reload
if live_reload:
self.reload_queue = Queue()
@@ -78,6 +79,7 @@ class Loader:
self.observer.schedule(self.watcher, self.plugin_path, recursive=True)
self.observer.start()
self.loop.create_task(self.handle_reloads())
+ self.loop.create_task(self.enable_reload_wait())
server_instance.add_routes([
web.get("/frontend/{path:.*}", self.handle_frontend_assets),
@@ -92,6 +94,12 @@ class Loader:
web.get("/steam_resource/{path:.+}", self.get_steam_resource)
])
+ async def enable_reload_wait(self):
+ if self.live_reload:
+ await sleep(10)
+ self.logger.info("Hot reload enabled")
+ self.watcher.disabled = False
+
async def handle_frontend_assets(self, request):
file = path.join(path.dirname(__file__), "static", request.match_info["path"])