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
@dataclass(frozen=True)
@dataclass(frozen=True, kw_only=True)
class SynologyDSMBinarySensorEntityDescription(
BinarySensorEntityDescription, SynologyDSMEntityDescription
):

View File

@ -25,20 +25,13 @@ from .models import SynologyDSMData
LOGGER = logging.getLogger(__name__)
@dataclass(frozen=True)
class SynologyDSMbuttonDescriptionMixin:
"""Mixin to describe a Synology DSM button entity."""
@dataclass(frozen=True, kw_only=True)
class SynologyDSMbuttonDescription(ButtonEntityDescription):
"""Class to describe a Synology DSM button entity."""
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 = [
SynologyDSMbuttonDescription(
key="reboot",

View File

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

View File

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

View File

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

View File

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

View File

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