diff options
| author | marios8543 <marios8543@gmail.com> | 2023-11-14 00:34:48 +0200 |
|---|---|---|
| committer | marios8543 <marios8543@gmail.com> | 2023-11-14 00:34:48 +0200 |
| commit | 8b0d1753efc432a29172fb1e6b4daa41af41d6e3 (patch) | |
| tree | 57cb61adabc15b8f55e1220d4384a47185ba2ad2 /backend/decky_loader | |
| parent | 70532c8d0b9c75ddb627c6eb24815e417202d09a (diff) | |
| download | decky-loader-8b0d1753efc432a29172fb1e6b4daa41af41d6e3.tar.gz decky-loader-8b0d1753efc432a29172fb1e6b4daa41af41d6e3.zip | |
fix a couple types
Diffstat (limited to 'backend/decky_loader')
| -rw-r--r-- | backend/decky_loader/loader.py | 1 | ||||
| -rw-r--r-- | backend/decky_loader/utilities.py | 5 | ||||
| -rw-r--r-- | backend/decky_loader/wsrouter.py | 8 |
3 files changed, 8 insertions, 6 deletions
diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py index 7f81777f..e5a5cc7b 100644 --- a/backend/decky_loader/loader.py +++ b/backend/decky_loader/loader.py @@ -18,6 +18,7 @@ if TYPE_CHECKING: from .injector import get_gamepadui_tab from .plugin.plugin import PluginWrapper +from .wsrouter import WSRouter Plugins = dict[str, PluginWrapper] ReloadQueue = Queue[Tuple[str, str, bool | None] | Tuple[str, str]] diff --git a/backend/decky_loader/utilities.py b/backend/decky_loader/utilities.py index 0e3e9fb0..12dabd68 100644 --- a/backend/decky_loader/utilities.py +++ b/backend/decky_loader/utilities.py @@ -82,7 +82,7 @@ class Utilities: context.ws.add_route("utilities/get_tab_id", self.get_tab_id) context.ws.add_route("utilities/get_user_info", self.get_user_info) - async def _handle_server_method_call(self, request): + async def _handle_server_method_call(self, request: web.Request): method_name = request.match_info["method_name"] try: args = await request.json() @@ -182,7 +182,8 @@ class Utilities: style.parentNode.removeChild(style); }})() """, False) - + + assert result if "exceptionDetails" in result["result"]: raise result["result"]["exceptionDetails"] diff --git a/backend/decky_loader/wsrouter.py b/backend/decky_loader/wsrouter.py index b5ed3c2b..034667ae 100644 --- a/backend/decky_loader/wsrouter.py +++ b/backend/decky_loader/wsrouter.py @@ -1,13 +1,13 @@ from logging import getLogger -from asyncio import AbstractEventLoop, Future, create_task +from asyncio import AbstractEventLoop, create_task from aiohttp import WSMsgType, WSMessage from aiohttp.web import Application, WebSocketResponse, Request, Response, get from enum import IntEnum -from typing import Callable, Dict, Any, cast, TypeVar, Type +from typing import Callable, Coroutine, Dict, Any, cast, TypeVar, Type from dataclasses import dataclass from traceback import format_exc @@ -38,7 +38,7 @@ class Message: DataType = TypeVar("DataType") -Route = Callable[..., Future[Any]] +Route = Callable[..., Coroutine[Any, Any, Any]] class WSRouter: def __init__(self, loop: AbstractEventLoop, server_instance: Application) -> None: @@ -133,7 +133,7 @@ class WSRouter: return ws # DataType defaults to None so that if a plugin opts in to strict pyright checking and attempts to pass data witbout specifying the type (or any), the type check fails - async def emit(self, event: str, data: DataType | None = None, data_type: Type[DataType] = None): + async def emit(self, event: str, data: DataType | None = None, data_type: Type[DataType]|None = None): self.logger.debug('Firing frontend event %s with args %s', data) await self.write({ "type": MessageType.EVENT.value, "event": event, "data": data }) |
