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: if compressed_state_format:
# Compressed state format uses the timestamp directly # Compressed state format uses the timestamp directly
ent_results.extend( ent_results.extend(
{ [
attr_state: (prev_state := state), {
attr_time: row[last_updated_ts_idx], attr_state: (prev_state := state),
} attr_time: row[last_updated_ts_idx],
for row in group }
if (state := row[state_idx]) != prev_state for row in group
if (state := row[state_idx]) != prev_state
]
) )
continue continue
# Non-compressed state format returns an ISO formatted string # Non-compressed state format returns an ISO formatted string
_utc_from_timestamp = dt_util.utc_from_timestamp _utc_from_timestamp = dt_util.utc_from_timestamp
ent_results.extend( ent_results.extend(
{ [
attr_state: (prev_state := state), {
attr_time: _utc_from_timestamp(row[last_updated_ts_idx]).isoformat(), attr_state: (prev_state := state),
} attr_time: _utc_from_timestamp(
for row in group row[last_updated_ts_idx]
if (state := row[state_idx]) != prev_state ).isoformat(),
}
for row in group
if (state := row[state_idx]) != prev_state
]
) )
if descending: if descending: