From bdbedd0f069da7a233b8c6455d8f65125de3d4a4 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Tue, 12 Oct 2021 12:08:59 +0200 Subject: [PATCH] Alphabetize parts of device registry code (#57532) --- .../components/config/device_registry.py | 14 +-- homeassistant/helpers/device_registry.py | 96 +++++++++---------- homeassistant/helpers/entity.py | 10 +- homeassistant/helpers/entity_platform.py | 12 +-- 4 files changed, 66 insertions(+), 66 deletions(-) diff --git a/homeassistant/components/config/device_registry.py b/homeassistant/components/config/device_registry.py index 4363fbbbe4d..1dd8fbe4167 100644 --- a/homeassistant/components/config/device_registry.py +++ b/homeassistant/components/config/device_registry.py @@ -67,17 +67,17 @@ async def websocket_update_device(hass, connection, msg): def _entry_dict(entry): """Convert entry to API format.""" return { + "area_id": entry.area_id, "config_entries": list(entry.config_entries), "connections": list(entry.connections), - "manufacturer": entry.manufacturer, - "model": entry.model, - "name": entry.name, - "sw_version": entry.sw_version, + "disabled_by": entry.disabled_by, "entry_type": entry.entry_type, "id": entry.id, "identifiers": list(entry.identifiers), - "via_device_id": entry.via_device_id, - "area_id": entry.area_id, + "manufacturer": entry.manufacturer, + "model": entry.model, "name_by_user": entry.name_by_user, - "disabled_by": entry.disabled_by, + "name": entry.name, + "sw_version": entry.sw_version, + "via_device_id": entry.via_device_id, } diff --git a/homeassistant/helpers/device_registry.py b/homeassistant/helpers/device_registry.py index f3051e9dfd7..9348c112942 100644 --- a/homeassistant/helpers/device_registry.py +++ b/homeassistant/helpers/device_registry.py @@ -53,20 +53,9 @@ class _DeviceIndex(NamedTuple): class DeviceEntry: """Device Registry Entry.""" + area_id: str | None = attr.ib(default=None) config_entries: set[str] = attr.ib(converter=set, factory=set) connections: set[tuple[str, str]] = attr.ib(converter=set, factory=set) - identifiers: set[tuple[str, str]] = attr.ib(converter=set, factory=set) - manufacturer: str | None = attr.ib(default=None) - model: str | None = attr.ib(default=None) - name: str | None = attr.ib(default=None) - sw_version: str | None = attr.ib(default=None) - via_device_id: str | None = attr.ib(default=None) - area_id: str | None = attr.ib(default=None) - name_by_user: str | None = attr.ib(default=None) - entry_type: str | None = attr.ib(default=None) - id: str = attr.ib(factory=uuid_util.random_uuid_hex) - # This value is not stored, just used to keep track of events to fire. - is_new: bool = attr.ib(default=False) disabled_by: str | None = attr.ib( default=None, validator=attr.validators.in_( @@ -78,7 +67,18 @@ class DeviceEntry: ) ), ) + entry_type: str | None = attr.ib(default=None) + id: str = attr.ib(factory=uuid_util.random_uuid_hex) + identifiers: set[tuple[str, str]] = attr.ib(converter=set, factory=set) + manufacturer: str | None = attr.ib(default=None) + model: str | None = attr.ib(default=None) + name_by_user: str | None = attr.ib(default=None) + name: str | None = attr.ib(default=None) suggested_area: str | None = attr.ib(default=None) + sw_version: str | None = attr.ib(default=None) + via_device_id: str | None = attr.ib(default=None) + # This value is not stored, just used to keep track of events to fire. + is_new: bool = attr.ib(default=False) @property def disabled(self) -> bool: @@ -245,19 +245,19 @@ class DeviceRegistry: *, config_entry_id: str, connections: set[tuple[str, str]] | None = None, + default_manufacturer: str | None | UndefinedType = UNDEFINED, + default_model: str | None | UndefinedType = UNDEFINED, + default_name: str | None | UndefinedType = UNDEFINED, + # To disable a device if it gets created + disabled_by: str | None | UndefinedType = UNDEFINED, + entry_type: str | None | UndefinedType = UNDEFINED, identifiers: set[tuple[str, str]] | None = None, manufacturer: str | None | UndefinedType = UNDEFINED, model: str | None | UndefinedType = UNDEFINED, name: str | None | UndefinedType = UNDEFINED, - default_manufacturer: str | None | UndefinedType = UNDEFINED, - default_model: str | None | UndefinedType = UNDEFINED, - default_name: str | None | UndefinedType = UNDEFINED, - sw_version: str | None | UndefinedType = UNDEFINED, - entry_type: str | None | UndefinedType = UNDEFINED, - via_device: tuple[str, str] | None = None, - # To disable a device if it gets created - disabled_by: str | None | UndefinedType = UNDEFINED, suggested_area: str | None | UndefinedType = UNDEFINED, + sw_version: str | None | UndefinedType = UNDEFINED, + via_device: tuple[str, str] | None = None, ) -> DeviceEntry: """Get device. Create if it doesn't exist.""" if not identifiers and not connections: @@ -302,16 +302,16 @@ class DeviceRegistry: device = self._async_update_device( device.id, add_config_entry_id=config_entry_id, - via_device_id=via_device_id, + disabled_by=disabled_by, + entry_type=entry_type, + manufacturer=manufacturer, merge_connections=connections or UNDEFINED, merge_identifiers=identifiers or UNDEFINED, - manufacturer=manufacturer, model=model, name=name, - sw_version=sw_version, - entry_type=entry_type, - disabled_by=disabled_by, suggested_area=suggested_area, + sw_version=sw_version, + via_device_id=via_device_id, ) # This is safe because _async_update_device will always return a device @@ -324,34 +324,34 @@ class DeviceRegistry: self, device_id: str, *, + add_config_entry_id: str | UndefinedType = UNDEFINED, area_id: str | None | UndefinedType = UNDEFINED, + disabled_by: str | None | UndefinedType = UNDEFINED, manufacturer: str | None | UndefinedType = UNDEFINED, model: str | None | UndefinedType = UNDEFINED, - name: str | None | UndefinedType = UNDEFINED, name_by_user: str | None | UndefinedType = UNDEFINED, + name: str | None | UndefinedType = UNDEFINED, new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED, + remove_config_entry_id: str | UndefinedType = UNDEFINED, + suggested_area: str | None | UndefinedType = UNDEFINED, sw_version: str | None | UndefinedType = UNDEFINED, via_device_id: str | None | UndefinedType = UNDEFINED, - add_config_entry_id: str | UndefinedType = UNDEFINED, - remove_config_entry_id: str | UndefinedType = UNDEFINED, - disabled_by: str | None | UndefinedType = UNDEFINED, - suggested_area: str | None | UndefinedType = UNDEFINED, ) -> DeviceEntry | None: """Update properties of a device.""" return self._async_update_device( device_id, + add_config_entry_id=add_config_entry_id, area_id=area_id, + disabled_by=disabled_by, manufacturer=manufacturer, model=model, - name=name, name_by_user=name_by_user, + name=name, new_identifiers=new_identifiers, + remove_config_entry_id=remove_config_entry_id, + suggested_area=suggested_area, sw_version=sw_version, via_device_id=via_device_id, - add_config_entry_id=add_config_entry_id, - remove_config_entry_id=remove_config_entry_id, - disabled_by=disabled_by, - suggested_area=suggested_area, ) @callback @@ -360,20 +360,20 @@ class DeviceRegistry: device_id: str, *, add_config_entry_id: str | UndefinedType = UNDEFINED, - remove_config_entry_id: str | UndefinedType = UNDEFINED, + area_id: str | None | UndefinedType = UNDEFINED, + disabled_by: str | None | UndefinedType = UNDEFINED, + entry_type: str | None | UndefinedType = UNDEFINED, + manufacturer: str | None | UndefinedType = UNDEFINED, merge_connections: set[tuple[str, str]] | UndefinedType = UNDEFINED, merge_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED, - new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED, - manufacturer: str | None | UndefinedType = UNDEFINED, model: str | None | UndefinedType = UNDEFINED, - name: str | None | UndefinedType = UNDEFINED, - sw_version: str | None | UndefinedType = UNDEFINED, - entry_type: str | None | UndefinedType = UNDEFINED, - via_device_id: str | None | UndefinedType = UNDEFINED, - area_id: str | None | UndefinedType = UNDEFINED, name_by_user: str | None | UndefinedType = UNDEFINED, - disabled_by: str | None | UndefinedType = UNDEFINED, + name: str | None | UndefinedType = UNDEFINED, + new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED, + remove_config_entry_id: str | UndefinedType = UNDEFINED, suggested_area: str | None | UndefinedType = UNDEFINED, + sw_version: str | None | UndefinedType = UNDEFINED, + via_device_id: str | None | UndefinedType = UNDEFINED, ) -> DeviceEntry | None: """Update device attributes.""" old = self.devices[device_id] @@ -424,14 +424,14 @@ class DeviceRegistry: changes["identifiers"] = new_identifiers for attr_name, value in ( + ("disabled_by", disabled_by), + ("entry_type", entry_type), ("manufacturer", manufacturer), ("model", model), ("name", name), - ("sw_version", sw_version), - ("entry_type", entry_type), - ("via_device_id", via_device_id), - ("disabled_by", disabled_by), ("suggested_area", suggested_area), + ("sw_version", sw_version), + ("via_device_id", via_device_id), ): if value is not UNDEFINED and value != getattr(old, attr_name): changes[attr_name] = value diff --git a/homeassistant/helpers/entity.py b/homeassistant/helpers/entity.py index 122d04b0bf9..1d3b331b8ab 100644 --- a/homeassistant/helpers/entity.py +++ b/homeassistant/helpers/entity.py @@ -158,18 +158,18 @@ def get_unit_of_measurement(hass: HomeAssistant, entity_id: str) -> str | None: class DeviceInfo(TypedDict, total=False): """Entity device information for device registry.""" - name: str | None connections: set[tuple[str, str]] + default_manufacturer: str + default_model: str + default_name: str + entry_type: str | None identifiers: set[tuple[str, str]] manufacturer: str | None model: str | None + name: str | None suggested_area: str | None sw_version: str | None via_device: tuple[str, str] - entry_type: str | None - default_name: str - default_manufacturer: str - default_model: str @dataclass diff --git a/homeassistant/helpers/entity_platform.py b/homeassistant/helpers/entity_platform.py index c212645325c..831f6c9a4b6 100644 --- a/homeassistant/helpers/entity_platform.py +++ b/homeassistant/helpers/entity_platform.py @@ -461,17 +461,17 @@ class EntityPlatform: processed_dev_info = {"config_entry_id": config_entry_id} for key in ( "connections", + "default_manufacturer", + "default_model", + "default_name", + "entry_type", "identifiers", "manufacturer", "model", "name", - "default_manufacturer", - "default_model", - "default_name", - "sw_version", - "entry_type", - "via_device", "suggested_area", + "sw_version", + "via_device", ): if key in device_info: processed_dev_info[key] = device_info[key] # type: ignore[misc]