diff options
| author | TrainDoctor <traindoctor@protonmail.com> | 2022-11-20 11:38:48 -0800 |
|---|---|---|
| committer | TrainDoctor <traindoctor@protonmail.com> | 2022-12-10 14:25:21 -0800 |
| commit | 3a927084b0c6bb395955e5f314ff5cc1c1800f4f (patch) | |
| tree | 5fd2e1a8083a6c0de98a7770fbcd196e4f3a1900 | |
| parent | 5e07c8f028ce3fb0bfda50600dd685648799d389 (diff) | |
| download | decky-loader-backend-reloads.tar.gz decky-loader-backend-reloads.zip | |
FIlled out functionality of handler function, now for JS to call routebackend-reloads
| -rw-r--r-- | backend/main.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/backend/main.py b/backend/main.py index 2b986a95..f4a1acb0 100644 --- a/backend/main.py +++ b/backend/main.py @@ -7,7 +7,7 @@ if hasattr(sys, '_MEIPASS'): from asyncio import new_event_loop, set_event_loop, sleep from json import dumps, loads from logging import DEBUG, INFO, basicConfig, getLogger -from os import getenv, chmod, path +from os import getenv, chmod, listdir, path from traceback import format_exc import aiohttp_cors @@ -117,12 +117,16 @@ class PluginManager: self.plugin_loader.import_plugins() # await inject_to_tab("SP", "window.syncDeckyPlugins();") - async def reload_plugin_backend(self, name): + async def reload_plugin_backends(self, name): await self.wait_for_server() - if name in self.loader.plugins: - self.loader.plugins[name].stop() - self.loader.plugins.pop(name, None) - + if name in self.plugin_loader.plugins: + self.plugin_loader.plugins[name].stop() + self.plugin_loader.plugins.pop(name, None) + else: + logger.error("Couldn't find plugin %s to reload.", str(name)) + directories = [i for i in listdir(self.plugin_loader.plugin_path) if path.isdir(path.join(self.plugin_loader.plugin_path, i)) and path.isfile(path.join(self.plugin_loader.plugin_path, i, "plugin.json"))] + if name in directories: + Loader.import_plugin(path.join(self.plugin_loader.plugin_path, directories[name], "main.py"), directories[name], False, False) async def loader_reinjector(self): while True: |
