mirror of
https://github.com/home-assistant/core.git
synced 2025-08-10 08:05:06 +02:00
Avoid linear search to remove a label from the entity registry (#115674)
* Avoid linear search to remove a label from the entity registry * simplify
This commit is contained in:
@@ -1329,11 +1329,8 @@ class EntityRegistry(BaseRegistry):
|
|||||||
@callback
|
@callback
|
||||||
def async_clear_label_id(self, label_id: str) -> None:
|
def async_clear_label_id(self, label_id: str) -> None:
|
||||||
"""Clear label from registry entries."""
|
"""Clear label from registry entries."""
|
||||||
for entity_id, entry in self.entities.items():
|
for entry in self.entities.get_entries_for_label(label_id):
|
||||||
if label_id in entry.labels:
|
self.async_update_entity(entry.entity_id, labels=entry.labels - {label_id})
|
||||||
labels = entry.labels.copy()
|
|
||||||
labels.remove(label_id)
|
|
||||||
self.async_update_entity(entity_id, labels=labels)
|
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def async_clear_config_entry(self, config_entry_id: str) -> None:
|
def async_clear_config_entry(self, config_entry_id: str) -> None:
|
||||||
|
Reference in New Issue
Block a user