Remove entity description mixin in Dremel 3D Printer (#112405)

This commit is contained in:
Joost Lekkerkerker 2024-03-06 14:24:05 +01:00 committed by GitHub
parent 86503526ee
commit 5400b4055a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 31 deletions

View File

@ -19,20 +19,13 @@ from .const import DOMAIN
from .entity import Dremel3DPrinterEntity from .entity import Dremel3DPrinterEntity
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class Dremel3DPrinterBinarySensorEntityMixin: class Dremel3DPrinterBinarySensorEntityDescription(BinarySensorEntityDescription):
"""Mixin for Dremel 3D Printer binary sensor.""" """Describes a Dremel 3D Printer binary sensor."""
value_fn: Callable[[Dremel3DPrinter], bool] value_fn: Callable[[Dremel3DPrinter], bool]
@dataclass(frozen=True)
class Dremel3DPrinterBinarySensorEntityDescription(
BinarySensorEntityDescription, Dremel3DPrinterBinarySensorEntityMixin
):
"""Describes a Dremel 3D Printer binary sensor."""
BINARY_SENSOR_TYPES: tuple[Dremel3DPrinterBinarySensorEntityDescription, ...] = ( BINARY_SENSOR_TYPES: tuple[Dremel3DPrinterBinarySensorEntityDescription, ...] = (
Dremel3DPrinterBinarySensorEntityDescription( Dremel3DPrinterBinarySensorEntityDescription(
key="door", key="door",

View File

@ -16,20 +16,13 @@ from .const import DOMAIN
from .entity import Dremel3DPrinterEntity from .entity import Dremel3DPrinterEntity
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class Dremel3DPrinterButtonEntityMixin: class Dremel3DPrinterButtonEntityDescription(ButtonEntityDescription):
"""Mixin for required keys.""" """Describes a Dremel 3D Printer button entity."""
press_fn: Callable[[Dremel3DPrinter], None] press_fn: Callable[[Dremel3DPrinter], None]
@dataclass(frozen=True)
class Dremel3DPrinterButtonEntityDescription(
ButtonEntityDescription, Dremel3DPrinterButtonEntityMixin
):
"""Describes a Dremel 3D Printer button entity."""
BUTTON_TYPES: tuple[Dremel3DPrinterButtonEntityDescription, ...] = ( BUTTON_TYPES: tuple[Dremel3DPrinterButtonEntityDescription, ...] = (
Dremel3DPrinterButtonEntityDescription( Dremel3DPrinterButtonEntityDescription(
key="cancel_job", key="cancel_job",

View File

@ -31,19 +31,11 @@ from .const import ATTR_EXTRUDER, ATTR_PLATFORM, DOMAIN
from .entity import Dremel3DPrinterEntity from .entity import Dremel3DPrinterEntity
@dataclass(frozen=True) @dataclass(frozen=True, kw_only=True)
class Dremel3DPrinterSensorEntityMixin: class Dremel3DPrinterSensorEntityDescription(SensorEntityDescription):
"""Mixin for Dremel 3D Printer sensor."""
value_fn: Callable[[Dremel3DPrinter, str], StateType | datetime]
@dataclass(frozen=True)
class Dremel3DPrinterSensorEntityDescription(
SensorEntityDescription, Dremel3DPrinterSensorEntityMixin
):
"""Describes a Dremel 3D Printer sensor.""" """Describes a Dremel 3D Printer sensor."""
value_fn: Callable[[Dremel3DPrinter, str], StateType | datetime]
available_fn: Callable[[Dremel3DPrinter, str], bool] = lambda api, _: True available_fn: Callable[[Dremel3DPrinter, str], bool] = lambda api, _: True