Remove entity description mixin in Synology DSM (#112946)

This commit is contained in:
Joost Lekkerkerker 2024-03-10 21:52:01 +01:00 committed by GitHub
parent a7f71eaa35
commit 2a5be33f34
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 11 additions and 23 deletions

View File

@ -28,7 +28,7 @@ from .entity import (
from .models import SynologyDSMData from .models import SynologyDSMData
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMBinarySensorEntityDescription( class SynologyDSMBinarySensorEntityDescription(
BinarySensorEntityDescription, SynologyDSMEntityDescription BinarySensorEntityDescription, SynologyDSMEntityDescription
): ):

View File

@ -25,20 +25,13 @@ from .models import SynologyDSMData
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMbuttonDescriptionMixin: class SynologyDSMbuttonDescription(ButtonEntityDescription):
"""Mixin to describe a Synology DSM button entity.""" """Class to describe a Synology DSM button entity."""
press_action: Callable[[SynoApi], Callable[[], Coroutine[Any, Any, None]]] press_action: Callable[[SynoApi], Callable[[], Coroutine[Any, Any, None]]]
@dataclass(frozen=True)
class SynologyDSMbuttonDescription(
ButtonEntityDescription, SynologyDSMbuttonDescriptionMixin
):
"""Class to describe a Synology DSM button entity."""
BUTTONS: Final = [ BUTTONS: Final = [
SynologyDSMbuttonDescription( SynologyDSMbuttonDescription(
key="reboot", key="reboot",

View File

@ -36,7 +36,7 @@ from .models import SynologyDSMData
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMCameraEntityDescription( class SynologyDSMCameraEntityDescription(
CameraEntityDescription, SynologyDSMEntityDescription CameraEntityDescription, SynologyDSMEntityDescription
): ):

View File

@ -19,18 +19,13 @@ from .coordinator import (
_CoordinatorT = TypeVar("_CoordinatorT", bound=SynologyDSMUpdateCoordinator[Any]) _CoordinatorT = TypeVar("_CoordinatorT", bound=SynologyDSMUpdateCoordinator[Any])
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMRequiredKeysMixin: class SynologyDSMEntityDescription(EntityDescription):
"""Mixin for required keys.""" """Generic Synology DSM entity description."""
api_key: str api_key: str
@dataclass(frozen=True)
class SynologyDSMEntityDescription(EntityDescription, SynologyDSMRequiredKeysMixin):
"""Generic Synology DSM entity description."""
class SynologyDSMBaseEntity(CoordinatorEntity[_CoordinatorT]): class SynologyDSMBaseEntity(CoordinatorEntity[_CoordinatorT]):
"""Representation of a Synology NAS entry.""" """Representation of a Synology NAS entry."""

View File

@ -40,7 +40,7 @@ from .entity import (
from .models import SynologyDSMData from .models import SynologyDSMData
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMSensorEntityDescription( class SynologyDSMSensorEntityDescription(
SensorEntityDescription, SynologyDSMEntityDescription SensorEntityDescription, SynologyDSMEntityDescription
): ):

View File

@ -23,7 +23,7 @@ from .models import SynologyDSMData
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMSwitchEntityDescription( class SynologyDSMSwitchEntityDescription(
SwitchEntityDescription, SynologyDSMEntityDescription SwitchEntityDescription, SynologyDSMEntityDescription
): ):

View File

@ -20,7 +20,7 @@ from .entity import SynologyDSMBaseEntity, SynologyDSMEntityDescription
from .models import SynologyDSMData from .models import SynologyDSMData
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class SynologyDSMUpdateEntityEntityDescription( class SynologyDSMUpdateEntityEntityDescription(
UpdateEntityDescription, SynologyDSMEntityDescription UpdateEntityDescription, SynologyDSMEntityDescription
): ):