Remove entity description mixin in Netgear (#112911)

This commit is contained in:
Joost Lekkerkerker 2024-03-10 16:43:43 +01:00 committed by GitHub
parent 201f733394
commit f668dfecb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 17 deletions

View File

@ -20,20 +20,13 @@ from .entity import NetgearRouterCoordinatorEntity
from .router import NetgearRouter from .router import NetgearRouter
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class NetgearButtonEntityDescriptionRequired: class NetgearButtonEntityDescription(ButtonEntityDescription):
"""Required attributes of NetgearButtonEntityDescription.""" """Class describing Netgear button entities."""
action: Callable[[NetgearRouter], Callable[[], Coroutine[Any, Any, None]]] action: Callable[[NetgearRouter], Callable[[], Coroutine[Any, Any, None]]]
@dataclass(frozen=True)
class NetgearButtonEntityDescription(
ButtonEntityDescription, NetgearButtonEntityDescriptionRequired
):
"""Class describing Netgear button entities."""
BUTTONS = [ BUTTONS = [
NetgearButtonEntityDescription( NetgearButtonEntityDescription(
key="reboot", key="reboot",

View File

@ -36,17 +36,15 @@ SWITCH_TYPES = [
class NetgearSwitchEntityDescriptionRequired: class NetgearSwitchEntityDescriptionRequired:
"""Required attributes of NetgearSwitchEntityDescription.""" """Required attributes of NetgearSwitchEntityDescription."""
@dataclass(frozen=True, kw_only=True)
class NetgearSwitchEntityDescription(SwitchEntityDescription):
"""Class describing Netgear Switch entities."""
update: Callable[[NetgearRouter], bool] update: Callable[[NetgearRouter], bool]
action: Callable[[NetgearRouter], bool] action: Callable[[NetgearRouter], bool]
@dataclass(frozen=True)
class NetgearSwitchEntityDescription(
SwitchEntityDescription, NetgearSwitchEntityDescriptionRequired
):
"""Class describing Netgear Switch entities."""
ROUTER_SWITCH_TYPES = [ ROUTER_SWITCH_TYPES = [
NetgearSwitchEntityDescription( NetgearSwitchEntityDescription(
key="access_control", key="access_control",