diff --git a/pyoverkiz/enums/__init__.py b/pyoverkiz/enums/__init__.py index bd55212f..bf6080d1 100644 --- a/pyoverkiz/enums/__init__.py +++ b/pyoverkiz/enums/__init__.py @@ -1,46 +1,43 @@ """Convenience re-exports for the enums package.""" -# flake8: noqa: F403 - -from enum import Enum - -from pyoverkiz.enums import command as _command -from pyoverkiz.enums import execution as _execution -from pyoverkiz.enums import gateway as _gateway -from pyoverkiz.enums import general as _general -from pyoverkiz.enums import measured_value_type as _measured_value_type -from pyoverkiz.enums import protocol as _protocol -from pyoverkiz.enums import server as _server -from pyoverkiz.enums import state as _state -from pyoverkiz.enums import ui as _ui -from pyoverkiz.enums import ui_profile as _ui_profile -from pyoverkiz.enums.command import * -from pyoverkiz.enums.execution import * -from pyoverkiz.enums.gateway import * -from pyoverkiz.enums.general import * -from pyoverkiz.enums.measured_value_type import * -from pyoverkiz.enums.protocol import * -from pyoverkiz.enums.server import * -from pyoverkiz.enums.state import * -from pyoverkiz.enums.ui import * -from pyoverkiz.enums.ui_profile import * - -__all__ = sorted( - { - name - for module in ( - _command, - _execution, - _gateway, - _general, - _measured_value_type, - _protocol, - _server, - _state, - _ui, - _ui_profile, - ) - for name, obj in vars(module).items() - if isinstance(obj, type) and issubclass(obj, Enum) - } +# Explicitly re-export all Enum subclasses to avoid wildcard import issues +from pyoverkiz.enums.command import CommandMode, OverkizCommand, OverkizCommandParam +from pyoverkiz.enums.execution import ( + ExecutionState, + ExecutionSubType, + ExecutionType, ) +from pyoverkiz.enums.gateway import GatewaySubType, GatewayType, UpdateBoxStatus +from pyoverkiz.enums.general import DataType, EventName, FailureType, ProductType +from pyoverkiz.enums.measured_value_type import MeasuredValueType +from pyoverkiz.enums.protocol import Protocol +from pyoverkiz.enums.server import APIType, Server +from pyoverkiz.enums.state import OverkizAttribute, OverkizState +from pyoverkiz.enums.ui import UIClass, UIClassifier, UIWidget +from pyoverkiz.enums.ui_profile import UIProfile + +__all__ = [ + "APIType", + "CommandMode", + "DataType", + "EventName", + "ExecutionState", + "ExecutionSubType", + "ExecutionType", + "FailureType", + "GatewaySubType", + "GatewayType", + "MeasuredValueType", + "OverkizAttribute", + "OverkizCommand", + "OverkizCommandParam", + "OverkizState", + "ProductType", + "Protocol", + "Server", + "UIClass", + "UIClassifier", + "UIProfile", + "UIWidget", + "UpdateBoxStatus", +] diff --git a/pyoverkiz/utils.py b/pyoverkiz/utils.py index 06fcd34a..23313ed9 100644 --- a/pyoverkiz/utils.py +++ b/pyoverkiz/utils.py @@ -37,17 +37,14 @@ def create_server_config( configuration_url: str | None = None, ) -> ServerConfig: """Generate server configuration with the provided endpoint and metadata.""" - resolved_server = ( - server if isinstance(server, Server) or server is None else Server(server) - ) - resolved_type = type if isinstance(type, APIType) else APIType(type) + # ServerConfig.__init__ accepts str | enum types and converts them internally return ServerConfig( - server=resolved_server, + server=server, # type: ignore[arg-type] name=name, endpoint=endpoint, manufacturer=manufacturer, configuration_url=configuration_url, - type=resolved_type, + type=type, # type: ignore[arg-type] )