Remove context_id from logbook api (#36796)

Reduces size of api response, execution, and download time.
This commit is contained in:
J. Nick Koston 2020-06-15 16:13:07 -05:00 committed by GitHub
parent ba73ac12ba
commit b8c9f67533
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 21 deletions

View File

@ -33,7 +33,7 @@ from homeassistant.const import (
STATE_OFF, STATE_OFF,
STATE_ON, STATE_ON,
) )
from homeassistant.core import DOMAIN as HA_DOMAIN, Context, callback, split_entity_id from homeassistant.core import DOMAIN as HA_DOMAIN, callback, split_entity_id
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entityfilter import generate_filter from homeassistant.helpers.entityfilter import generate_filter
from homeassistant.loader import bind_hass from homeassistant.loader import bind_hass
@ -243,8 +243,7 @@ def humanify(hass, events, prev_states=None):
data = describe_event(event) data = describe_event(event)
data["when"] = event.time_fired data["when"] = event.time_fired
data["domain"] = domain data["domain"] = domain
data["context_id"] = event.context.id data["context_user_id"] = event.context_user_id
data["context_user_id"] = event.context.user_id
yield data yield data
if event.event_type == EVENT_STATE_CHANGED: if event.event_type == EVENT_STATE_CHANGED:
@ -278,8 +277,7 @@ def humanify(hass, events, prev_states=None):
), ),
"domain": domain, "domain": domain,
"entity_id": entity_id, "entity_id": entity_id,
"context_id": event.context.id, "context_user_id": event.context_user_id,
"context_user_id": event.context.user_id,
} }
elif event.event_type == EVENT_HOMEASSISTANT_START: elif event.event_type == EVENT_HOMEASSISTANT_START:
@ -291,8 +289,7 @@ def humanify(hass, events, prev_states=None):
"name": "Home Assistant", "name": "Home Assistant",
"message": "started", "message": "started",
"domain": HA_DOMAIN, "domain": HA_DOMAIN,
"context_id": event.context.id, "context_user_id": event.context_user_id,
"context_user_id": event.context.user_id,
} }
elif event.event_type == EVENT_HOMEASSISTANT_STOP: elif event.event_type == EVENT_HOMEASSISTANT_STOP:
@ -306,8 +303,7 @@ def humanify(hass, events, prev_states=None):
"name": "Home Assistant", "name": "Home Assistant",
"message": action, "message": action,
"domain": HA_DOMAIN, "domain": HA_DOMAIN,
"context_id": event.context.id, "context_user_id": event.context_user_id,
"context_user_id": event.context.user_id,
} }
elif event.event_type == EVENT_LOGBOOK_ENTRY: elif event.event_type == EVENT_LOGBOOK_ENTRY:
@ -326,8 +322,6 @@ def humanify(hass, events, prev_states=None):
"message": event_data.get(ATTR_MESSAGE), "message": event_data.get(ATTR_MESSAGE),
"domain": domain, "domain": domain,
"entity_id": entity_id, "entity_id": entity_id,
"context_id": event.context.id,
"context_user_id": event.context.user_id,
} }
@ -399,7 +393,6 @@ def _get_events(hass, config, start_day, end_day, entity_id=None):
Events.event_type, Events.event_type,
Events.event_data, Events.event_data,
Events.time_fired, Events.time_fired,
Events.context_id,
Events.context_user_id, Events.context_user_id,
States.state, States.state,
States.entity_id, States.entity_id,
@ -563,14 +556,13 @@ def _entry_message_from_event(hass, entity_id, domain, event):
class LazyEventPartialState: class LazyEventPartialState:
"""A lazy version of core Event with limited State joined in.""" """A lazy version of core Event with limited State joined in."""
__slots__ = ["_row", "_event_data", "_time_fired", "_context"] __slots__ = ["_row", "_event_data", "_time_fired"]
def __init__(self, row): def __init__(self, row):
"""Init the lazy event.""" """Init the lazy event."""
self._row = row self._row = row
self._event_data = None self._event_data = None
self._time_fired = None self._time_fired = None
self._context = None
@property @property
def event_type(self): def event_type(self):
@ -578,13 +570,9 @@ class LazyEventPartialState:
return self._row.event_type return self._row.event_type
@property @property
def context(self): def context_user_id(self):
"""Context the event was called.""" """Context user id of event."""
if not self._context: return self._row.context_user_id
self._context = Context(
id=self._row.context_id, user_id=self._row.context_user_id
)
return self._context
@property @property
def data(self): def data(self):

View File

@ -1499,3 +1499,8 @@ class MockLazyEventPartialState(ha.Event):
def time_fired_minute(self): def time_fired_minute(self):
"""Minute the event was fired.""" """Minute the event was fired."""
return self.time_fired.minute return self.time_fired.minute
@property
def context_user_id(self):
"""Context user id of event."""
return self.context.user_id