summaryrefslogtreecommitdiff
path: root/backend/decky_loader/utilities.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/decky_loader/utilities.py')
-rw-r--r--backend/decky_loader/utilities.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/backend/decky_loader/utilities.py b/backend/decky_loader/utilities.py
index 75593fd5..c74ac5d1 100644
--- a/backend/decky_loader/utilities.py
+++ b/backend/decky_loader/utilities.py
@@ -82,6 +82,7 @@ class Utilities:
context.ws.add_route("utilities/_call_legacy_utility", self._call_legacy_utility)
context.ws.add_route("utilities/enable_plugin", self.enable_plugin)
context.ws.add_route("utilities/disable_plugin", self.disable_plugin)
+ context.ws.add_route("utilities/set_all_plugins_disabled", self.set_all_plugins_disabled)
context.web_app.add_routes([
post("/methods/{method_name}", self._handle_legacy_server_method_call)
@@ -503,4 +504,13 @@ class Utilities:
disabled_plugins.remove(name)
await self.set_setting("disabled_plugins", disabled_plugins)
- await self.context.plugin_loader.import_plugin(path.join(plugin_dir, "main.py"), plugin_folder) \ No newline at end of file
+ await self.context.plugin_loader.import_plugin(path.join(plugin_dir, "main.py"), plugin_folder)
+
+ async def set_all_plugins_disabled(self):
+ disabled_plugins: List[str] = await self.get_setting("disabled_plugins", [])
+
+ for name, _ in self.context.plugin_loader.plugins.items():
+ if name not in disabled_plugins:
+ disabled_plugins.append(name)
+
+ await self.set_setting("disabled_plugins", disabled_plugins) \ No newline at end of file