mirror of
https://github.com/home-assistant/core.git
synced 2025-05-04 14:09:16 +00:00
Store JSON in database in compact format (#53364)
* Store JSON in database in compact format * Fix logbook
This commit is contained in:
parent
12503d548b
commit
c875ff8648
@ -48,11 +48,10 @@ from homeassistant.helpers.integration_platform import (
|
|||||||
from homeassistant.loader import bind_hass
|
from homeassistant.loader import bind_hass
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
ENTITY_ID_JSON_TEMPLATE = '"entity_id": "{}"'
|
ENTITY_ID_JSON_TEMPLATE = '"entity_id": ?"{}"'
|
||||||
ENTITY_ID_JSON_EXTRACT = re.compile('"entity_id": "([^"]+)"')
|
ENTITY_ID_JSON_EXTRACT = re.compile('"entity_id": ?"([^"]+)"')
|
||||||
DOMAIN_JSON_EXTRACT = re.compile('"domain": "([^"]+)"')
|
DOMAIN_JSON_EXTRACT = re.compile('"domain": ?"([^"]+)"')
|
||||||
ICON_JSON_EXTRACT = re.compile('"icon": "([^"]+)"')
|
ICON_JSON_EXTRACT = re.compile('"icon": ?"([^"]+)"')
|
||||||
|
|
||||||
ATTR_MESSAGE = "message"
|
ATTR_MESSAGE = "message"
|
||||||
|
|
||||||
CONTINUOUS_DOMAINS = ["proximity", "sensor"]
|
CONTINUOUS_DOMAINS = ["proximity", "sensor"]
|
||||||
|
@ -101,7 +101,8 @@ class Events(Base): # type: ignore
|
|||||||
"""Create an event database object from a native event."""
|
"""Create an event database object from a native event."""
|
||||||
return Events(
|
return Events(
|
||||||
event_type=event.event_type,
|
event_type=event.event_type,
|
||||||
event_data=event_data or json.dumps(event.data, cls=JSONEncoder),
|
event_data=event_data
|
||||||
|
or json.dumps(event.data, cls=JSONEncoder, separators=(",", ":")),
|
||||||
origin=str(event.origin.value),
|
origin=str(event.origin.value),
|
||||||
time_fired=event.time_fired,
|
time_fired=event.time_fired,
|
||||||
context_id=event.context.id,
|
context_id=event.context.id,
|
||||||
@ -184,7 +185,9 @@ class States(Base): # type: ignore
|
|||||||
else:
|
else:
|
||||||
dbstate.domain = state.domain
|
dbstate.domain = state.domain
|
||||||
dbstate.state = state.state
|
dbstate.state = state.state
|
||||||
dbstate.attributes = json.dumps(dict(state.attributes), cls=JSONEncoder)
|
dbstate.attributes = json.dumps(
|
||||||
|
dict(state.attributes), cls=JSONEncoder, separators=(",", ":")
|
||||||
|
)
|
||||||
dbstate.last_changed = state.last_changed
|
dbstate.last_changed = state.last_changed
|
||||||
dbstate.last_updated = state.last_updated
|
dbstate.last_updated = state.last_updated
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user