mirror of
https://github.com/esphome/esphome.git
synced 2025-09-02 03:12:20 +01:00
[ruff] Enable PERF rules and fix all violations (#9874)
This commit is contained in:
@@ -38,8 +38,7 @@ async def test_duplicate_entities_on_different_devices(
|
||||
# Get entity list
|
||||
entities = await client.list_entities_services()
|
||||
all_entities: list[EntityInfo] = []
|
||||
for entity_list in entities[0]:
|
||||
all_entities.append(entity_list)
|
||||
all_entities.extend(entities[0])
|
||||
|
||||
# Group entities by type for easier testing
|
||||
sensors = [e for e in all_entities if e.__class__.__name__ == "SensorInfo"]
|
||||
|
@@ -23,9 +23,7 @@ async def test_host_mode_fan_preset(
|
||||
entities = await client.list_entities_services()
|
||||
fans: list[FanInfo] = []
|
||||
for entity_list in entities:
|
||||
for entity in entity_list:
|
||||
if isinstance(entity, FanInfo):
|
||||
fans.append(entity)
|
||||
fans.extend(entity for entity in entity_list if isinstance(entity, FanInfo))
|
||||
|
||||
# Create a map of fan names to entity info
|
||||
fan_map = {fan.name: fan for fan in fans}
|
||||
|
@@ -31,10 +31,8 @@ def dict_diff(a, b, path=""):
|
||||
if isinstance(a, dict) and isinstance(b, dict):
|
||||
a_keys = set(a)
|
||||
b_keys = set(b)
|
||||
for key in a_keys - b_keys:
|
||||
diffs.append(f"{path}/{key} only in actual")
|
||||
for key in b_keys - a_keys:
|
||||
diffs.append(f"{path}/{key} only in expected")
|
||||
diffs.extend(f"{path}/{key} only in actual" for key in a_keys - b_keys)
|
||||
diffs.extend(f"{path}/{key} only in expected" for key in b_keys - a_keys)
|
||||
for key in a_keys & b_keys:
|
||||
diffs.extend(dict_diff(a[key], b[key], f"{path}/{key}"))
|
||||
elif isinstance(a, list) and isinstance(b, list):
|
||||
@@ -42,11 +40,14 @@ def dict_diff(a, b, path=""):
|
||||
for i in range(min_len):
|
||||
diffs.extend(dict_diff(a[i], b[i], f"{path}[{i}]"))
|
||||
if len(a) > len(b):
|
||||
for i in range(min_len, len(a)):
|
||||
diffs.append(f"{path}[{i}] only in actual: {a[i]!r}")
|
||||
diffs.extend(
|
||||
f"{path}[{i}] only in actual: {a[i]!r}" for i in range(min_len, len(a))
|
||||
)
|
||||
elif len(b) > len(a):
|
||||
for i in range(min_len, len(b)):
|
||||
diffs.append(f"{path}[{i}] only in expected: {b[i]!r}")
|
||||
diffs.extend(
|
||||
f"{path}[{i}] only in expected: {b[i]!r}"
|
||||
for i in range(min_len, len(b))
|
||||
)
|
||||
elif a != b:
|
||||
diffs.append(f"\t{path}: actual={a!r} expected={b!r}")
|
||||
return diffs
|
||||
|
Reference in New Issue
Block a user