Improve recorder event typing (#115253)

This commit is contained in:
Marc Mueller 2024-04-09 02:56:18 +02:00 committed by GitHub
parent 4e983d710f
commit d4500cf945
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 30 additions and 19 deletions

View file

@ -30,7 +30,13 @@ from homeassistant.const import (
EVENT_STATE_CHANGED,
MATCH_ALL,
)
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback
from homeassistant.core import (
CALLBACK_TYPE,
Event,
EventStateChangedData,
HomeAssistant,
callback,
)
from homeassistant.helpers.event import (
async_track_time_change,
async_track_time_interval,
@ -862,12 +868,12 @@ class Recorder(threading.Thread):
self._guarded_process_one_task_or_event_or_recover(queue_.get())
def _pre_process_startup_events(
self, startup_task_or_events: list[RecorderTask | Event]
self, startup_task_or_events: list[RecorderTask | Event[Any]]
) -> None:
"""Pre process startup events."""
# Prime all the state_attributes and event_data caches
# before we start processing events
state_change_events: list[Event] = []
state_change_events: list[Event[EventStateChangedData]] = []
non_state_change_events: list[Event] = []
for task_or_event in startup_task_or_events:
@ -1019,7 +1025,7 @@ class Recorder(threading.Thread):
self.backlog,
)
def _process_one_event(self, event: Event) -> None:
def _process_one_event(self, event: Event[Any]) -> None:
if not self.enabled:
return
if event.event_type == EVENT_STATE_CHANGED:
@ -1076,7 +1082,9 @@ class Recorder(threading.Thread):
self._add_to_session(session, dbevent)
def _process_state_changed_event_into_session(self, event: Event) -> None:
def _process_state_changed_event_into_session(
self, event: Event[EventStateChangedData]
) -> None:
"""Process a state_changed event into the session."""
state_attributes_manager = self.state_attributes_manager
states_meta_manager = self.states_meta_manager