Skip to content

Commit 58c7931

Browse files
committed
Implement CRAI suggestions
1 parent cca403e commit 58c7931

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

plugwise_usb/network/cache.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ async def save_cache(self) -> None:
2929
cache_data_to_save: dict[str, str] = {}
3030
for mac, node_type in self._nodetypes.items():
3131
cache_data_to_save[mac] = node_type.name
32-
_LOGGER.debug("Save NodeTypes for %s Nodes", str(len(cache_data_to_save)))
32+
_LOGGER.debug("Save NodeTypes for %s Nodes", (len(cache_data_to_save)))
3333
await self.write_cache(
3434
cache_data_to_save, True
3535
) # rewrite set to True is required
@@ -47,9 +47,9 @@ async def restore_cache(self) -> None:
4747
node_type: NodeType | None = None
4848
# Backward-compatible parsing: support full enums, enum names, or numeric values
4949
val = node_value.strip()
50-
key = val.split(".", 1)[1] if val.startswith("NodeType.") else val
50+
key = (val.split(".", 1)[1] if val.startswith("NodeType.") else val).upper()
5151
node_type = NodeType.__members__.get(key) # e.g., "CIRCLE"
52-
if node_type is None and val.isdigit(): # e.g., "2"
52+
if node_type is None:
5353
try:
5454
node_type = NodeType(int(val))
5555
except ValueError:
@@ -92,5 +92,9 @@ async def prune_cache(self, registry: list[str]) -> None:
9292
continue
9393
if (node_type := self.get_nodetype(mac)) is not None:
9494
new_nodetypes[mac] = node_type
95+
96+
if new_nodetypes == self._nodetypes:
97+
_LOGGER.debug("prune_cache: no changes; skipping save")
98+
return
9599
self._nodetypes = new_nodetypes
96100
await self.save_cache()

0 commit comments

Comments
 (0)