From 6bcc3dd1c0a4a6992fa6e5f055379314ec4abed4 Mon Sep 17 00:00:00 2001 From: axolotle Date: Tue, 31 Oct 2023 15:07:03 +0100 Subject: [PATCH] typing: fix logger typing + ignore weird constructors --- src/settings.py | 8 ++++++-- src/utils/configpanel.py | 10 +++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/settings.py b/src/settings.py index f70f9df61..77c2de5d8 100644 --- a/src/settings.py +++ b/src/settings.py @@ -31,10 +31,12 @@ from yunohost.log import is_unit_operation from yunohost.utils.legacy import translate_legacy_settings_to_configpanel_settings if TYPE_CHECKING: - from yunohost.log import OperationLogger + from typing import cast from pydantic.typing import AbstractSetIntStr, MappingIntStrAny + from moulinette.utils.log import MoulinetteLogger + from yunohost.log import OperationLogger from yunohost.utils.configpanel import ( ConfigPanelGetMode, ConfigPanelModel, @@ -43,7 +45,9 @@ if TYPE_CHECKING: ) from yunohost.utils.form import FormModel -logger = getLogger("yunohost.settings") + logger = cast(MoulinetteLogger, getLogger("yunohost.settings")) +else: + logger = getLogger("yunohost.settings") SETTINGS_PATH = "/etc/yunohost/settings.yml" diff --git a/src/utils/configpanel.py b/src/utils/configpanel.py index 236cccd09..073792b41 100644 --- a/src/utils/configpanel.py +++ b/src/utils/configpanel.py @@ -51,7 +51,11 @@ if TYPE_CHECKING: from yunohost.utils.form import FormModel, Hooks from yunohost.log import OperationLogger -logger = getLogger("yunohost.configpanel") +if TYPE_CHECKING: + from moulinette.utils.log import MoulinetteLogger + logger = cast(MoulinetteLogger, getLogger("yunohost.configpanel")) +else: + logger = getLogger("yunohost.configpanel") # ╭───────────────────────────────────────────────────────╮ @@ -145,7 +149,7 @@ class SectionModel(ContainerModel, OptionsModel): is_action_section = any( [option["type"] == OptionType.button for option in options] ) - ContainerModel.__init__( + ContainerModel.__init__( # type: ignore self, id=id, name=name, @@ -221,7 +225,7 @@ class PanelModel(ContainerModel): **kwargs, ) -> None: sections = [data | {"id": name} for name, data in kwargs.items()] - super().__init__( + super().__init__( # type: ignore id=id, name=name, services=services, help=help, bind=bind, sections=sections )