diff options
Diffstat (limited to 'backend/decky_loader')
| -rw-r--r-- | backend/decky_loader/helpers.py | 7 | ||||
| -rw-r--r-- | backend/decky_loader/injector.py | 2 | ||||
| -rw-r--r-- | backend/decky_loader/loader.py | 22 | ||||
| -rw-r--r-- | backend/decky_loader/localplatform/localsocket.py | 4 | ||||
| -rw-r--r-- | backend/decky_loader/main.py | 6 | ||||
| -rw-r--r-- | backend/decky_loader/utilities.py | 2 | ||||
| -rw-r--r-- | backend/decky_loader/wsrouter.py | 4 |
7 files changed, 23 insertions, 24 deletions
diff --git a/backend/decky_loader/helpers.py b/backend/decky_loader/helpers.py index 7216a2a5..8e571f92 100644 --- a/backend/decky_loader/helpers.py +++ b/backend/decky_loader/helpers.py @@ -1,4 +1,3 @@ -from platform import version import re import ssl import uuid @@ -70,10 +69,10 @@ def get_loader_version() -> str: version_str = f'v{v.major}.{v.minor}.{v.micro}' - if v.pre: # type: ignore + if v.pre: version_str += f'-pre{v.pre[1]}' - if v.post: # type: ignore + if v.post: version_str += f'-dev{v.post}' return version_str @@ -89,7 +88,7 @@ def get_system_pythonpaths() -> list[str]: # run as normal normal user if on linux to also include user python paths proc = subprocess.run(["python3" if localplatform.ON_LINUX else "python", "-c", "import sys; print('\\n'.join(x for x in sys.path if x))"], # TODO make this less insane - capture_output=True, user=localplatform.localplatform._get_user_id() if localplatform.ON_LINUX else None, env={} if localplatform.ON_LINUX else None) # type: ignore + capture_output=True, user=localplatform.localplatform._get_user_id() if localplatform.ON_LINUX else None, env={} if localplatform.ON_LINUX else None) # pyright: ignore [reportPrivateUsage] return [x.strip() for x in proc.stdout.decode().strip().split("\n")] except Exception as e: logger.warn(f"Failed to execute get_system_pythonpaths(): {str(e)}") diff --git a/backend/decky_loader/injector.py b/backend/decky_loader/injector.py index 2e8846c6..f72ffb7b 100644 --- a/backend/decky_loader/injector.py +++ b/backend/decky_loader/injector.py @@ -33,7 +33,7 @@ class Tab: async def open_websocket(self): self.client = ClientSession() - self.websocket = await self.client.ws_connect(self.ws_url) # type: ignore + self.websocket = await self.client.ws_connect(self.ws_url) async def close_websocket(self): if self.websocket: diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py index 9eecb575..c4206176 100644 --- a/backend/decky_loader/loader.py +++ b/backend/decky_loader/loader.py @@ -4,12 +4,12 @@ from logging import getLogger from os import listdir, path from pathlib import Path from traceback import format_exc, print_exc -from typing import Any, Tuple, Dict +from typing import Any, Tuple, Dict, cast from aiohttp import web from os.path import exists -from watchdog.events import RegexMatchingEventHandler, DirCreatedEvent, DirModifiedEvent, FileCreatedEvent, FileModifiedEvent # type: ignore -from watchdog.observers import Observer # type: ignore +from watchdog.events import RegexMatchingEventHandler, DirCreatedEvent, DirModifiedEvent, FileCreatedEvent, FileModifiedEvent +from watchdog.observers import Observer from typing import TYPE_CHECKING, List if TYPE_CHECKING: @@ -24,7 +24,7 @@ ReloadQueue = Queue[Tuple[str, str, bool | None] | Tuple[str, str]] class FileChangeHandler(RegexMatchingEventHandler): def __init__(self, queue: ReloadQueue, plugin_path: str) -> None: - super().__init__(regexes=[r'^.*?dist\/index\.js$', r'^.*?main\.py$']) # type: ignore + super().__init__(regexes=[r'^.*?dist\/index\.js$', r'^.*?main\.py$']) # pyright: ignore [reportUnknownMemberType] self.logger = getLogger("file-watcher") self.plugin_path = plugin_path self.queue = queue @@ -37,8 +37,8 @@ class FileChangeHandler(RegexMatchingEventHandler): if exists(path.join(self.plugin_path, plugin_dir, "plugin.json")): self.queue.put_nowait((path.join(self.plugin_path, plugin_dir, "main.py"), plugin_dir, True)) - def on_created(self, event: DirCreatedEvent | FileCreatedEvent): - src_path = event.src_path + def on_created(self, event: DirCreatedEvent | FileCreatedEvent): # pyright: ignore [reportIncompatibleMethodOverride] + src_path = cast(str, event.src_path) # type: ignore the correct type for this is in later versions of watchdog if "__pycache__" in src_path: return @@ -51,8 +51,8 @@ class FileChangeHandler(RegexMatchingEventHandler): self.logger.debug(f"file created: {src_path}") self.maybe_reload(src_path) - def on_modified(self, event: DirModifiedEvent | FileModifiedEvent): - src_path = event.src_path + def on_modified(self, event: DirModifiedEvent | FileModifiedEvent): # pyright: ignore [reportIncompatibleMethodOverride] + src_path = cast(str, event.src_path) # type: ignore if "__pycache__" in src_path: return @@ -81,7 +81,7 @@ class Loader: if live_reload: self.observer = Observer() self.watcher = FileChangeHandler(self.reload_queue, plugin_path) - self.observer.schedule(self.watcher, self.plugin_path, recursive=True) # type: ignore + self.observer.schedule(self.watcher, self.plugin_path, recursive=True) # pyright: ignore [reportUnknownMemberType] self.observer.start() self.loop.create_task(self.enable_reload_wait()) @@ -179,7 +179,7 @@ class Loader: async def handle_reloads(self): while True: args = await self.reload_queue.get() - self.import_plugin(*args) # type: ignore + self.import_plugin(*args) # pyright: ignore [reportArgumentType] async def handle_plugin_method_call_legacy(self, plugin_name: str, method_name: str, kwargs: Dict[Any, Any]): res: Dict[Any, Any] = {} @@ -208,4 +208,4 @@ class Loader: async def handle_plugin_backend_reload(self, plugin_name: str): plugin = self.plugins[plugin_name] - await self.reload_queue.put((plugin.file, plugin.plugin_directory))
\ No newline at end of file + await self.reload_queue.put((plugin.file, plugin.plugin_directory)) diff --git a/backend/decky_loader/localplatform/localsocket.py b/backend/decky_loader/localplatform/localsocket.py index 93b1ea18..e0ef196a 100644 --- a/backend/decky_loader/localplatform/localsocket.py +++ b/backend/decky_loader/localplatform/localsocket.py @@ -75,7 +75,7 @@ class UnixSocket: try: line.extend(await reader.readuntil()) except asyncio.LimitOverrunError: - line.extend(await reader.read(reader._limit)) # type: ignore + line.extend(await reader.read(reader._limit)) # pyright: ignore [reportUnknownMemberType, reportUnknownArgumentType, reportAttributeAccessIssue] continue except asyncio.IncompleteReadError as err: line.extend(err.partial) @@ -142,4 +142,4 @@ if ON_WINDOWS: pass else: class LocalSocket (UnixSocket): - pass
\ No newline at end of file + pass diff --git a/backend/decky_loader/main.py b/backend/decky_loader/main.py index 64c76dc0..763fbd42 100644 --- a/backend/decky_loader/main.py +++ b/backend/decky_loader/main.py @@ -14,10 +14,10 @@ from os import path from traceback import format_exc import multiprocessing -import aiohttp_cors # type: ignore +import aiohttp_cors # pyright: ignore [reportMissingTypeStubs] # Partial imports from aiohttp import client_exceptions -from aiohttp.web import Application, Response, Request, get, run_app, static # type: ignore +from aiohttp.web import Application, Response, Request, get, run_app, static # pyright: ignore [reportUnknownVariableType] from aiohttp_jinja2 import setup as jinja_setup # local modules @@ -87,7 +87,7 @@ class PluginManager: self.web_app.add_routes([get("/auth/token", self.get_auth_token)]) for route in list(self.web_app.router.routes()): - self.cors.add(route) # type: ignore + self.cors.add(route) # pyright: ignore [reportUnknownMemberType] self.web_app.add_routes([static("/static", path.join(path.dirname(__file__), '..', 'static'))]) def exception_handler(self, loop: AbstractEventLoop, context: Dict[str, str]): diff --git a/backend/decky_loader/utilities.py b/backend/decky_loader/utilities.py index d7d16f04..7c15bb85 100644 --- a/backend/decky_loader/utilities.py +++ b/backend/decky_loader/utilities.py @@ -6,7 +6,7 @@ from json.decoder import JSONDecodeError from os.path import splitext import re from traceback import format_exc -from stat import FILE_ATTRIBUTE_HIDDEN # type: ignore +from stat import FILE_ATTRIBUTE_HIDDEN # pyright: ignore [reportAttributeAccessIssue, reportUnknownVariableType] from asyncio import StreamReader, StreamWriter, start_server, gather, open_connection from aiohttp import ClientSession diff --git a/backend/decky_loader/wsrouter.py b/backend/decky_loader/wsrouter.py index 1ceeedd4..96e61daf 100644 --- a/backend/decky_loader/wsrouter.py +++ b/backend/decky_loader/wsrouter.py @@ -24,8 +24,8 @@ class MessageType(IntEnum): # WSMessage with slightly better typings class WSMessageExtra(WSMessage): # TODO message typings here too - data: Any # type: ignore yes you can extend it - type: WSMsgType # type: ignore + data: Any # pyright: ignore [reportIncompatibleVariableOverride] + type: WSMsgType # pyright: ignore [reportIncompatibleVariableOverride] # see wsrouter.ts for typings |
