From 54aecee64e5c549a440127995f94aeb77fb9d0dd Mon Sep 17 00:00:00 2001 From: AAGaming Date: Thu, 13 Jun 2024 17:47:53 -0400 Subject: hook up plugin events properly --- backend/decky_loader/loader.py | 2 +- backend/decky_loader/plugin/imports/decky.py | 2 ++ backend/decky_loader/plugin/plugin.py | 2 +- backend/decky_loader/plugin/sandboxed_plugin.py | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) (limited to 'backend') diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py index 2ebbecd9..90c54211 100644 --- a/backend/decky_loader/loader.py +++ b/backend/decky_loader/loader.py @@ -144,7 +144,7 @@ class Loader: try: async def plugin_emitted_event(event: str, args: Any): self.logger.debug(f"PLUGIN EMITTED EVENT: {event} with args {args}") - await self.ws.emit(f"loader/plugin_event", {plugin:plugin.name, event:event, args:args}) + await self.ws.emit(f"loader/plugin_event", {"plugin": plugin.name, "event": event, "args": args}) plugin = PluginWrapper(file, plugin_directory, self.plugin_path, plugin_emitted_event) if plugin.name in self.plugins: diff --git a/backend/decky_loader/plugin/imports/decky.py b/backend/decky_loader/plugin/imports/decky.py index 384c3860..94c3b57a 100644 --- a/backend/decky_loader/plugin/imports/decky.py +++ b/backend/decky_loader/plugin/imports/decky.py @@ -206,6 +206,8 @@ logging.basicConfig(filename=DECKY_PLUGIN_LOG, format='[%(asctime)s][%(levelname)s]: %(message)s', force=True) logger: logging.Logger = logging.getLogger() +# Also log to stdout +logger.addHandler(logging.StreamHandler()) """The main plugin logger writing to `DECKY_PLUGIN_LOG`.""" logger.setLevel(logging.INFO) diff --git a/backend/decky_loader/plugin/plugin.py b/backend/decky_loader/plugin/plugin.py index aff35e5c..61b5ca4f 100644 --- a/backend/decky_loader/plugin/plugin.py +++ b/backend/decky_loader/plugin/plugin.py @@ -90,7 +90,7 @@ class PluginWrapper: return await request.wait_for_result() - async def execute_method(self, method_name: str, args: List[Any]): + async def execute_method(self, method_name: str, *args: List[Any]): if self.passive: raise RuntimeError("This plugin is passive (aka does not implement main.py)") diff --git a/backend/decky_loader/plugin/sandboxed_plugin.py b/backend/decky_loader/plugin/sandboxed_plugin.py index cb149816..7e618590 100644 --- a/backend/decky_loader/plugin/sandboxed_plugin.py +++ b/backend/decky_loader/plugin/sandboxed_plugin.py @@ -166,7 +166,7 @@ class SandboxedPlugin: d: SocketResponseDict = {"type": SocketMessageType.RESPONSE, "res": None, "success": True, "id": data["id"]} try: - if data["legacy"]: + if data.get("legacy"): if self.api_version > 0: raise Exception("Legacy methods may not be used on api_version > 0") # Legacy kwargs -- cgit v1.2.3