Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 40 additions & 43 deletions pyoverkiz/enums/__init__.py
Original file line number Diff line number Diff line change
@@ -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",
]
9 changes: 3 additions & 6 deletions pyoverkiz/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]
)


Expand Down