From: Jörg Behrmann Date: Sun, 13 Oct 2024 13:20:44 +0000 (+0200) Subject: ukify: Add more mypy options X-Git-Tag: v257-rc1~229^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F34738%2Fhead;p=thirdparty%2Fsystemd.git ukify: Add more mypy options This achieves parity with the mypy config used in mkosi. The import of builtins is needed because otherwise type is attempted to be resolved to the variable in the scope. --- diff --git a/src/ukify/mypy.ini b/src/ukify/mypy.ini index bae4e70f44e..c9836169c10 100644 --- a/src/ukify/mypy.ini +++ b/src/ukify/mypy.ini @@ -1,8 +1,9 @@ [mypy] python_version = 3.9 -allow_redefinition = True # belonging to --strict warn_unused_configs = true +disallow_any_generics = true +disallow_subclassing_any = true disallow_untyped_calls = true disallow_untyped_defs = true disallow_untyped_decorators = true diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index ebb4985cfcb..f0d7ee60b78 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -20,6 +20,7 @@ # pylint: disable=unnecessary-lambda-assignment import argparse +import builtins import collections import configparser import contextlib @@ -1386,9 +1387,9 @@ class ConfigItem: name: Union[str, tuple[str, str]] dest: Optional[str] = None metavar: Optional[str] = None - type: Optional[Callable] = None + type: Optional[Callable[[str], Any]] = None nargs: Optional[str] = None - action: Optional[Union[str, Callable]] = None + action: Optional[Union[str, Callable[[str], Any], builtins.type[argparse.Action]]] = None default: Any = None version: Optional[str] = None choices: Optional[tuple[str, ...]] = None