Avoid mutating entity descriptions in lidarr (#105628)
This commit is contained in:
parent
abac68f158
commit
7ab003c746
1 changed files with 8 additions and 7 deletions
|
@ -2,8 +2,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Callable
|
||||
from copy import deepcopy
|
||||
from dataclasses import dataclass
|
||||
import dataclasses
|
||||
from typing import Any, Generic
|
||||
|
||||
from aiopyarr import LidarrQueue, LidarrQueueItem, LidarrRootFolder
|
||||
|
@ -40,21 +39,23 @@ def get_modified_description(
|
|||
description: LidarrSensorEntityDescription[T], mount: LidarrRootFolder
|
||||
) -> tuple[LidarrSensorEntityDescription[T], str]:
|
||||
"""Return modified description and folder name."""
|
||||
desc = deepcopy(description)
|
||||
name = mount.path.rsplit("/")[-1].rsplit("\\")[-1]
|
||||
desc.key = f"{description.key}_{name}"
|
||||
desc.name = f"{description.name} {name}".capitalize()
|
||||
desc = dataclasses.replace(
|
||||
description,
|
||||
key=f"{description.key}_{name}",
|
||||
name=f"{description.name} {name}".capitalize(),
|
||||
)
|
||||
return desc, name
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclasses.dataclass
|
||||
class LidarrSensorEntityDescriptionMixIn(Generic[T]):
|
||||
"""Mixin for required keys."""
|
||||
|
||||
value_fn: Callable[[T, str], str | int]
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclasses.dataclass
|
||||
class LidarrSensorEntityDescription(
|
||||
SensorEntityDescription, LidarrSensorEntityDescriptionMixIn[T], Generic[T]
|
||||
):
|
||||
|
|
Loading…
Add table
Reference in a new issue