Sort some entity_registry code (#59876)

* Sort some entity_registry code

* Sort some more entity_registry code

* Tweak
This commit is contained in:
Erik Montnemery 2021-11-18 11:51:32 +01:00 committed by GitHub
parent 87f2eb3bd7
commit 1609c0cc2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 93 additions and 93 deletions

View file

@ -69,9 +69,9 @@ async def websocket_get_entity(hass, connection, msg):
vol.Required("type"): "config/entity_registry/update",
vol.Required("entity_id"): cv.entity_id,
# If passed in, we update value. Passing None will remove old value.
vol.Optional("name"): vol.Any(str, None),
vol.Optional("icon"): vol.Any(str, None),
vol.Optional("area_id"): vol.Any(str, None),
vol.Optional("icon"): vol.Any(str, None),
vol.Optional("name"): vol.Any(str, None),
vol.Optional("new_entity_id"): str,
# We only allow setting disabled_by user via API.
vol.Optional("disabled_by"): vol.Any(DISABLED_USER, None),
@ -92,7 +92,7 @@ async def websocket_update_entity(hass, connection, msg):
changes = {}
for key in ("name", "icon", "area_id", "disabled_by"):
for key in ("area_id", "disabled_by", "icon", "name"):
if key in msg:
changes[key] = msg[key]
@ -168,15 +168,15 @@ async def websocket_remove_entity(hass, connection, msg):
def _entry_dict(entry):
"""Convert entry to API format."""
return {
"area_id": entry.area_id,
"config_entry_id": entry.config_entry_id,
"device_id": entry.device_id,
"area_id": entry.area_id,
"disabled_by": entry.disabled_by,
"entity_id": entry.entity_id,
"name": entry.name,
"icon": entry.icon,
"platform": entry.platform,
"entity_category": entry.entity_category,
"entity_id": entry.entity_id,
"icon": entry.icon,
"name": entry.name,
"platform": entry.platform,
}
@ -184,8 +184,8 @@ def _entry_dict(entry):
def _entry_ext_dict(entry):
"""Convert entry to API format."""
data = _entry_dict(entry)
data["original_name"] = entry.original_name
data["original_icon"] = entry.original_icon
data["unique_id"] = entry.unique_id
data["capabilities"] = entry.capabilities
data["original_icon"] = entry.original_icon
data["original_name"] = entry.original_name
data["unique_id"] = entry.unique_id
return data

View file

@ -534,26 +534,26 @@ class Entity(ABC):
entry = self.registry_entry
# pylint: disable=consider-using-ternary
if (name := (entry and entry.name) or self.name) is not None:
attr[ATTR_FRIENDLY_NAME] = name
if (icon := (entry and entry.icon) or self.icon) is not None:
attr[ATTR_ICON] = icon
if (entity_picture := self.entity_picture) is not None:
attr[ATTR_ENTITY_PICTURE] = entity_picture
if assumed_state := self.assumed_state:
attr[ATTR_ASSUMED_STATE] = assumed_state
if (supported_features := self.supported_features) is not None:
attr[ATTR_SUPPORTED_FEATURES] = supported_features
if (attribution := self.attribution) is not None:
attr[ATTR_ATTRIBUTION] = attribution
if (device_class := self.device_class) is not None:
attr[ATTR_DEVICE_CLASS] = str(device_class)
if (attribution := self.attribution) is not None:
attr[ATTR_ATTRIBUTION] = attribution
if (entity_picture := self.entity_picture) is not None:
attr[ATTR_ENTITY_PICTURE] = entity_picture
if (icon := (entry and entry.icon) or self.icon) is not None:
attr[ATTR_ICON] = icon
if (name := (entry and entry.name) or self.name) is not None:
attr[ATTR_FRIENDLY_NAME] = name
if (supported_features := self.supported_features) is not None:
attr[ATTR_SUPPORTED_FEATURES] = supported_features
end = timer()

View file

@ -509,18 +509,18 @@ class EntityPlatform:
self.domain,
self.platform_name,
entity.unique_id,
suggested_object_id=suggested_object_id,
config_entry=self.config_entry,
device_id=device_id,
known_object_ids=self.entities.keys(),
disabled_by=disabled_by,
capabilities=entity.capability_attributes,
supported_features=entity.supported_features,
config_entry=self.config_entry,
device_class=entity.device_class,
unit_of_measurement=entity.unit_of_measurement,
original_name=entity.name,
original_icon=entity.icon,
device_id=device_id,
disabled_by=disabled_by,
entity_category=entity.entity_category,
known_object_ids=self.entities.keys(),
original_icon=entity.icon,
original_name=entity.name,
suggested_object_id=suggested_object_id,
supported_features=entity.supported_features,
unit_of_measurement=entity.unit_of_measurement,
)
entity.registry_entry = entry

View file

@ -64,12 +64,12 @@ STORAGE_KEY = "core.entity_registry"
# Attributes relevant to describing entity
# to external services.
ENTITY_DESCRIBING_ATTRIBUTES = {
"capabilities",
"device_class",
"entity_id",
"name",
"original_name",
"capabilities",
"supported_features",
"device_class",
"unit_of_measurement",
}
@ -81,11 +81,12 @@ class RegistryEntry:
entity_id: str = attr.ib()
unique_id: str = attr.ib()
platform: str = attr.ib()
name: str | None = attr.ib(default=None)
icon: str | None = attr.ib(default=None)
device_id: str | None = attr.ib(default=None)
area_id: str | None = attr.ib(default=None)
capabilities: Mapping[str, Any] | None = attr.ib(default=None)
config_entry_id: str | None = attr.ib(default=None)
device_class: str | None = attr.ib(default=None)
device_id: str | None = attr.ib(default=None)
domain: str = attr.ib(init=False, repr=False)
disabled_by: str | None = attr.ib(
default=None,
validator=attr.validators.in_(
@ -99,15 +100,14 @@ class RegistryEntry:
)
),
)
capabilities: Mapping[str, Any] | None = attr.ib(default=None)
supported_features: int = attr.ib(default=0)
device_class: str | None = attr.ib(default=None)
unit_of_measurement: str | None = attr.ib(default=None)
# As set by integration
original_name: str | None = attr.ib(default=None)
original_icon: str | None = attr.ib(default=None)
entity_category: str | None = attr.ib(default=None)
domain: str = attr.ib(init=False, repr=False)
icon: str | None = attr.ib(default=None)
name: str | None = attr.ib(default=None)
# As set by integration
original_icon: str | None = attr.ib(default=None)
original_name: str | None = attr.ib(default=None)
supported_features: int = attr.ib(default=0)
unit_of_measurement: str | None = attr.ib(default=None)
@domain.default
def _domain_default(self) -> str:
@ -127,22 +127,22 @@ class RegistryEntry:
if self.capabilities is not None:
attrs.update(self.capabilities)
if self.supported_features is not None:
attrs[ATTR_SUPPORTED_FEATURES] = self.supported_features
if self.device_class is not None:
attrs[ATTR_DEVICE_CLASS] = self.device_class
if self.unit_of_measurement is not None:
attrs[ATTR_UNIT_OF_MEASUREMENT] = self.unit_of_measurement
icon = self.icon or self.original_icon
if icon is not None:
attrs[ATTR_ICON] = icon
name = self.name or self.original_name
if name is not None:
attrs[ATTR_FRIENDLY_NAME] = name
icon = self.icon or self.original_icon
if icon is not None:
attrs[ATTR_ICON] = icon
if self.supported_features is not None:
attrs[ATTR_SUPPORTED_FEATURES] = self.supported_features
if self.unit_of_measurement is not None:
attrs[ATTR_UNIT_OF_MEASUREMENT] = self.unit_of_measurement
hass.states.async_set(self.entity_id, STATE_UNAVAILABLE, attrs)
@ -271,16 +271,16 @@ class EntityRegistry:
if entity_id:
return self._async_update_entity(
entity_id,
config_entry_id=config_entry_id or UNDEFINED,
device_id=device_id or UNDEFINED,
area_id=area_id or UNDEFINED,
capabilities=capabilities or UNDEFINED,
supported_features=supported_features or UNDEFINED,
config_entry_id=config_entry_id or UNDEFINED,
device_class=device_class or UNDEFINED,
unit_of_measurement=unit_of_measurement or UNDEFINED,
original_name=original_name or UNDEFINED,
original_icon=original_icon or UNDEFINED,
device_id=device_id or UNDEFINED,
entity_category=entity_category or UNDEFINED,
original_icon=original_icon or UNDEFINED,
original_name=original_name or UNDEFINED,
supported_features=supported_features or UNDEFINED,
unit_of_measurement=unit_of_measurement or UNDEFINED,
# When we changed our slugify algorithm, we invalidated some
# stored entity IDs with either a __ or ending in _.
# Fix introduced in 0.86 (Jan 23, 2019). Next line can be
@ -443,19 +443,19 @@ class EntityRegistry:
old_values = {} # Dict with old key/value pairs
for attr_name, value in (
("name", name),
("icon", icon),
("config_entry_id", config_entry_id),
("device_id", device_id),
("area_id", area_id),
("disabled_by", disabled_by),
("capabilities", capabilities),
("supported_features", supported_features),
("config_entry_id", config_entry_id),
("device_class", device_class),
("unit_of_measurement", unit_of_measurement),
("original_name", original_name),
("original_icon", original_icon),
("device_id", device_id),
("disabled_by", disabled_by),
("entity_category", entity_category),
("icon", icon),
("name", name),
("original_icon", original_icon),
("original_name", original_name),
("supported_features", supported_features),
("unit_of_measurement", unit_of_measurement),
):
if value is not UNDEFINED and value != getattr(old, attr_name):
new_values[attr_name] = value
@ -526,22 +526,22 @@ class EntityRegistry:
continue
entities[entity["entity_id"]] = RegistryEntry(
entity_id=entity["entity_id"],
config_entry_id=entity.get("config_entry_id"),
device_id=entity.get("device_id"),
area_id=entity.get("area_id"),
unique_id=entity["unique_id"],
platform=entity["platform"],
name=entity.get("name"),
icon=entity.get("icon"),
disabled_by=entity.get("disabled_by"),
capabilities=entity.get("capabilities") or {},
supported_features=entity.get("supported_features", 0),
config_entry_id=entity.get("config_entry_id"),
device_class=entity.get("device_class"),
unit_of_measurement=entity.get("unit_of_measurement"),
original_name=entity.get("original_name"),
original_icon=entity.get("original_icon"),
device_id=entity.get("device_id"),
disabled_by=entity.get("disabled_by"),
entity_category=entity.get("entity_category"),
entity_id=entity["entity_id"],
icon=entity.get("icon"),
name=entity.get("name"),
original_icon=entity.get("original_icon"),
original_name=entity.get("original_name"),
platform=entity["platform"],
supported_features=entity.get("supported_features", 0),
unique_id=entity["unique_id"],
unit_of_measurement=entity.get("unit_of_measurement"),
)
self.entities = entities
@ -559,22 +559,22 @@ class EntityRegistry:
data["entities"] = [
{
"entity_id": entry.entity_id,
"config_entry_id": entry.config_entry_id,
"device_id": entry.device_id,
"area_id": entry.area_id,
"unique_id": entry.unique_id,
"platform": entry.platform,
"name": entry.name,
"icon": entry.icon,
"disabled_by": entry.disabled_by,
"capabilities": entry.capabilities,
"supported_features": entry.supported_features,
"config_entry_id": entry.config_entry_id,
"device_class": entry.device_class,
"unit_of_measurement": entry.unit_of_measurement,
"original_name": entry.original_name,
"original_icon": entry.original_icon,
"device_id": entry.device_id,
"disabled_by": entry.disabled_by,
"entity_category": entry.entity_category,
"entity_id": entry.entity_id,
"icon": entry.icon,
"name": entry.name,
"original_icon": entry.original_icon,
"original_name": entry.original_name,
"platform": entry.platform,
"supported_features": entry.supported_features,
"unique_id": entry.unique_id,
"unit_of_measurement": entry.unit_of_measurement,
}
for entry in self.entities.values()
]