diff --git a/src/python/jw/pkg/App.py b/src/python/jw/pkg/App.py index 95cd2b85..cc57a6a8 100644 --- a/src/python/jw/pkg/App.py +++ b/src/python/jw/pkg/App.py @@ -10,7 +10,7 @@ import sys from enum import Enum, auto from functools import cache -from typing import override, TYPE_CHECKING +from typing import Any, override, TYPE_CHECKING from .lib.App import App as Base from .lib.Distro import Distro @@ -19,6 +19,7 @@ from .lib.ProjectConf import ProjectConf if TYPE_CHECKING: import argparse + from argparse import ArgumentParser from typing import TypeAlias @@ -36,10 +37,10 @@ if TYPE_CHECKING: class ResultCache(object): - def __init__(self): - self.__cache = {} + def __init__(self) -> None: + self.__cache: dict[str, Any] = {} - def run(self, func, args): + def run(self, func, args: list[Any]) -> object: d = self.__cache depth = 0 keys = [func.__name__] + args @@ -200,7 +201,15 @@ class App(Base): return None def __get_project_refs_cached( - self, buf, visited, spec, section, key, add_self, scope, names_only + self, + buf: list[str], + visited: set[str], + spec: str, + section: str, + key: str, + add_self: bool, + scope: Scope, + names_only: bool, ): return self.__res_cache.run( self.__get_project_refs, @@ -381,7 +390,7 @@ class App(Base): self.__exec_context = None @override - def _add_arguments(self, parser) -> None: + def _add_arguments(self, parser: ArgumentParser) -> None: super()._add_arguments(parser) parser.add_argument('-t', '--topdir', default = None, help = 'Project Path') parser.add_argument( @@ -537,7 +546,7 @@ class App(Base): def tmpl_dir(self, name: str) -> str | None: return self.find_dir(name, ['/tmpl'], ['/opt/' + name + '/share/tmpl']) - def strip_module_from_spec(self, mod): + def strip_module_from_spec(self, mod: str) -> str: return re.sub(r'-dev$|-devel$|-run$', '', re.split('([=><]+)', mod)[0].strip()) @cache diff --git a/src/python/jw/pkg/lib/App.py b/src/python/jw/pkg/lib/App.py index 881f6b69..a2357ec0 100644 --- a/src/python/jw/pkg/lib/App.py +++ b/src/python/jw/pkg/lib/App.py @@ -14,14 +14,14 @@ from .Types import LoadTypes from .util import pretty_cmd if TYPE_CHECKING: - from collections.abc import Awaitable + from collections.abc import Awaitable, Collection from typing import TypeVar T = TypeVar('T') class App: # export - def _add_arguments(self, parser): + def _add_arguments(self, parser: ArgumentParser) -> None: self.__parser.add_argument( '--log-flags', help = 'Log flags', default = self.__default_log_flags ) @@ -51,7 +51,7 @@ class App: # export eloop: None = None, ) -> None: - def add_cmd_to_parser(cmd, parsers): + def add_cmd_to_parser(cmd: AbstractCmd, parsers: Any) -> ArgumentParser: parser = parsers.add_parser( cmd.name, help = cmd.help, @@ -67,7 +67,7 @@ class App: # export def add_cmds_to_parser( parent: AbstractCmd | App, parser: ArgumentParser, - cmds, + cmds: Collection[AbstractCmd], all = False ) -> None: if not cmds: diff --git a/src/python/jw/pkg/lib/ec/Local.py b/src/python/jw/pkg/lib/ec/Local.py index 08630e16..243a969a 100644 --- a/src/python/jw/pkg/lib/ec/Local.py +++ b/src/python/jw/pkg/lib/ec/Local.py @@ -14,6 +14,8 @@ from ..ExecContext import ExecContext as Base from ..log import ERR, NOTICE, log if TYPE_CHECKING: + from typing import Any + from ..Uri import Uri class Local(Base): @@ -37,7 +39,7 @@ class Local(Base): log_prefix: str, ) -> Result: - def __log(prio, *args, verbose = verbose): + def __log(prio: int, *args: Any, verbose: bool = verbose) -> None: if verbose: log(prio, log_prefix, *args) diff --git a/src/python/jw/pkg/lib/ec/ssh/Exec.py b/src/python/jw/pkg/lib/ec/ssh/Exec.py index e0969e29..17bd35e4 100644 --- a/src/python/jw/pkg/lib/ec/ssh/Exec.py +++ b/src/python/jw/pkg/lib/ec/ssh/Exec.py @@ -28,7 +28,7 @@ class Exec(Base): if self.__askpass is not None: os.remove(self.__askpass) - def __init_askpass(self): + def __init_askpass(self) -> None: if self.__askpass is None and self.password is not None: import sys import tempfile diff --git a/src/python/jw/pkg/lib/pm/dpkg.py b/src/python/jw/pkg/lib/pm/dpkg.py index 41596211..12b5d9e8 100644 --- a/src/python/jw/pkg/lib/pm/dpkg.py +++ b/src/python/jw/pkg/lib/pm/dpkg.py @@ -11,7 +11,7 @@ from ..util import run_cmd, run_sudo _meta_map: dict[str, str] | None = None -def meta_map(): +def meta_map() -> dict[str, str]: global _meta_map if _meta_map is None: _meta_map = Package.order_tags( diff --git a/src/python/jw/pkg/lib/pm/rpm.py b/src/python/jw/pkg/lib/pm/rpm.py index 01995b8b..68421e81 100644 --- a/src/python/jw/pkg/lib/pm/rpm.py +++ b/src/python/jw/pkg/lib/pm/rpm.py @@ -11,7 +11,7 @@ if TYPE_CHECKING: _meta_map: dict[str, str] | None = None -def meta_map(): +def meta_map() -> dict[str, str]: global _meta_map if _meta_map is None: _meta_map = Package.order_tags(