Skip to content

Commit 2e1fad4

Browse files
committed
Read-from-node_type-cache: add support for reading all used values
1 parent 0746277 commit 2e1fad4

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

plugwise_usb/network/cache.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ async def save_cache(self) -> None:
3030
for mac, node_type in self._nodetypes.items():
3131
cache_data_to_save[mac] = node_type.name
3232
_LOGGER.debug("Save NodeTypes %s", str(len(cache_data_to_save)))
33-
await self.write_cache(cache_data_to_save, True) # rewrite set to True is required
33+
await self.write_cache(
34+
cache_data_to_save, True
35+
) # rewrite set to True is required
3436

3537
async def clear_cache(self) -> None:
3638
"""Clear current cache."""
@@ -43,11 +45,18 @@ async def restore_cache(self) -> None:
4345
self._nodetypes = {}
4446
for mac, node_value in data.items():
4547
node_type: NodeType | None = None
46-
if len(node_value) >= 10:
48+
try:
49+
node_type = NodeType(int(node_value)) # e.g. "2"
50+
except ValueError:
51+
tmp_node_value = node_value
52+
if len(node_value) >= 12: # e.g. "NodeType.CIRCLE"
53+
tmp_node_value = node_value[9:]
4754
try:
48-
node_type = NodeType[node_value[9:]]
55+
# node_value is e.g. "CIRCLE"
56+
node_type = NodeType.__members__.get(tmp_node_value)
4957
except KeyError:
5058
node_type = None
59+
5160
if node_type is None:
5261
_LOGGER.warning("Invalid NodeType in cache: %s", node_value)
5362
continue

0 commit comments

Comments
 (0)