mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 06:37:52 +00:00
Avoid mutating entity descriptions in radarr (#105972)
This commit is contained in:
parent
7a9e303e20
commit
8518d46d28
@ -2,8 +2,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from copy import deepcopy
|
import dataclasses
|
||||||
from dataclasses import dataclass
|
|
||||||
from datetime import UTC, datetime
|
from datetime import UTC, datetime
|
||||||
from typing import Any, Generic
|
from typing import Any, Generic
|
||||||
|
|
||||||
@ -39,21 +38,23 @@ def get_modified_description(
|
|||||||
description: RadarrSensorEntityDescription[T], mount: RootFolder
|
description: RadarrSensorEntityDescription[T], mount: RootFolder
|
||||||
) -> tuple[RadarrSensorEntityDescription[T], str]:
|
) -> tuple[RadarrSensorEntityDescription[T], str]:
|
||||||
"""Return modified description and folder name."""
|
"""Return modified description and folder name."""
|
||||||
desc = deepcopy(description)
|
|
||||||
name = mount.path.rsplit("/")[-1].rsplit("\\")[-1]
|
name = mount.path.rsplit("/")[-1].rsplit("\\")[-1]
|
||||||
desc.key = f"{description.key}_{name}"
|
desc = dataclasses.replace(
|
||||||
desc.name = f"{description.name} {name}".capitalize()
|
description,
|
||||||
|
key=f"{description.key}_{name}",
|
||||||
|
name=f"{description.name} {name}".capitalize(),
|
||||||
|
)
|
||||||
return desc, name
|
return desc, name
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclasses.dataclass
|
||||||
class RadarrSensorEntityDescriptionMixIn(Generic[T]):
|
class RadarrSensorEntityDescriptionMixIn(Generic[T]):
|
||||||
"""Mixin for required keys."""
|
"""Mixin for required keys."""
|
||||||
|
|
||||||
value_fn: Callable[[T, str], str | int | datetime]
|
value_fn: Callable[[T, str], str | int | datetime]
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclasses.dataclass
|
||||||
class RadarrSensorEntityDescription(
|
class RadarrSensorEntityDescription(
|
||||||
SensorEntityDescription, RadarrSensorEntityDescriptionMixIn[T], Generic[T]
|
SensorEntityDescription, RadarrSensorEntityDescriptionMixIn[T], Generic[T]
|
||||||
):
|
):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user