Use a listcomp for history results (#119188)

This commit is contained in:
J. Nick Koston 2024-06-09 11:32:33 -05:00 committed by GitHub
parent 38ab121db5
commit 909df675e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -782,24 +782,30 @@ def _sorted_states_to_dict(
if compressed_state_format:
# Compressed state format uses the timestamp directly
ent_results.extend(
{
attr_state: (prev_state := state),
attr_time: row[last_updated_ts_idx],
}
for row in group
if (state := row[state_idx]) != prev_state
[
{
attr_state: (prev_state := state),
attr_time: row[last_updated_ts_idx],
}
for row in group
if (state := row[state_idx]) != prev_state
]
)
continue
# Non-compressed state format returns an ISO formatted string
_utc_from_timestamp = dt_util.utc_from_timestamp
ent_results.extend(
{
attr_state: (prev_state := state),
attr_time: _utc_from_timestamp(row[last_updated_ts_idx]).isoformat(),
}
for row in group
if (state := row[state_idx]) != prev_state
[
{
attr_state: (prev_state := state),
attr_time: _utc_from_timestamp(
row[last_updated_ts_idx]
).isoformat(),
}
for row in group
if (state := row[state_idx]) != prev_state
]
)
if descending: