Small speed up to adding event bus listeners (#117849)

This commit is contained in:
J. Nick Koston 2024-05-21 01:52:44 -10:00 committed by GitHub
parent bfffcc3ad6
commit e8fc4e0f19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1422,7 +1422,9 @@ class EventBus:
def __init__(self, hass: HomeAssistant) -> None:
"""Initialize a new event bus."""
self._listeners: dict[EventType[Any] | str, list[_FilterableJobType[Any]]] = {}
self._listeners: defaultdict[
EventType[Any] | str, list[_FilterableJobType[Any]]
] = defaultdict(list)
self._match_all_listeners: list[_FilterableJobType[Any]] = []
self._listeners[MATCH_ALL] = self._match_all_listeners
self._hass = hass
@ -1615,7 +1617,7 @@ class EventBus:
event_type: EventType[_DataT] | str,
filterable_job: _FilterableJobType[_DataT],
) -> CALLBACK_TYPE:
self._listeners.setdefault(event_type, []).append(filterable_job)
self._listeners[event_type].append(filterable_job)
return functools.partial(
self._async_remove_listener, event_type, filterable_job
)