From: Vasek Sraier Date: Mon, 24 May 2021 09:44:42 +0000 (+0200) Subject: typing: fixed types after type-checker update X-Git-Tag: v6.0.0a1~156 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f57cd33fb23a43ec397df4766a73a932e7c3a2e9;p=thirdparty%2Fknot-resolver.git typing: fixed types after type-checker update --- diff --git a/manager/knot_resolver_manager/kresd_controller/supervisord/__init__.py b/manager/knot_resolver_manager/kresd_controller/supervisord/__init__.py index d9d8752ba..bc66133cc 100644 --- a/manager/knot_resolver_manager/kresd_controller/supervisord/__init__.py +++ b/manager/knot_resolver_manager/kresd_controller/supervisord/__init__.py @@ -17,7 +17,8 @@ logger = logging.getLogger(__name__) class SupervisordKresdController(BaseKresdController): - _config = SupervisordConfig([]) + # ignore the type issue bellow. It's valid, but the type-checker does not understand dataclasses + _config = SupervisordConfig(instances=[]) # type: ignore async def is_running(self) -> bool: return self.id in SupervisordKresdController._config.instances diff --git a/manager/knot_resolver_manager/kresd_controller/supervisord/config.py b/manager/knot_resolver_manager/kresd_controller/supervisord/config.py index 9a22aef1a..408234ff2 100644 --- a/manager/knot_resolver_manager/kresd_controller/supervisord/config.py +++ b/manager/knot_resolver_manager/kresd_controller/supervisord/config.py @@ -12,7 +12,7 @@ from knot_resolver_manager.utils.async_utils import call, readfile, wait_for_pro CONFIG_FILE = "/tmp/knot-resolver-manager-supervisord.conf" PID_FILE = "/tmp/knot-resolver-manager-supervisord.pid" -SERVER_SOCK = "/tmp/knot-resolver-manager-supervisord.sock" # created pseudorandomly from ASCII codes for K.R.M:SU +SERVER_SOCK = "/tmp/knot-resolver-manager-supervisord.sock" @dataclass diff --git a/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py b/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py index 3226f0f95..ab6256882 100644 --- a/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py +++ b/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py @@ -189,6 +189,12 @@ _T = TypeVar("_T", bound="DataclassParserValidatorMixin") class DataclassParserValidatorMixin: + def __init__(self, *args: Any, **kwargs: Any): + """ + This constructor is useless except for typechecking. It makes sure that the dataclasses can be created with + any arguments whatsoever. + """ + def validate(self) -> None: for field_name in dir(self): # skip internal fields