Skip to content

Commit 1efc2c3

Browse files
committed
Improve error-propagation
1 parent 9f9e17c commit 1efc2c3

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

plugwise_usb/network/__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,11 @@ def registry(self) -> dict[int, tuple[str, NodeType | None]]:
148148

149149
async def register_node(self, mac: str) -> bool:
150150
"""Register node to Plugwise network."""
151-
if (address := await self._register.register_node(mac)):
152-
return await self._discover_node(address, mac, None)
151+
try:
152+
if (address := await self._register.register_node(mac)):
153+
return await self._discover_node(address, mac, None)
154+
except (MessageError, NodeError) as exc:
155+
raise NodeError(f"{exc}") from exc
153156

154157
return False
155158

@@ -163,7 +166,7 @@ async def unregister_node(self, mac: str) -> None:
163166
await self._register.unregister_node(mac)
164167
await self._nodes[mac].unload()
165168
self._nodes.pop(mac)
166-
except KeyError as exc:
169+
except (KeyError, NodeError) as exc:
167170
raise MessageError("Mac not registered, already deleted?") from exc
168171

169172
# region - Handle stick connect/disconnect events

plugwise_usb/network/registry.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,12 +276,12 @@ async def unregister_node(self, mac: str) -> None:
276276
request = NodeRemoveRequest(self._send_to_controller, self._mac_nc, mac)
277277
if (response := await request.send()) is None:
278278
raise NodeError(
279-
f"The Zigbee network coordinator '{self._mac_nc!r}'"
279+
f"The Zigbee network coordinator '{self._mac_nc}'"
280280
+ f" did not respond to unregister node '{mac}'"
281281
)
282282
if response.status.value != 1:
283283
raise NodeError(
284-
f"The Zigbee network coordinator '{self._mac_nc!r}'"
284+
f"The Zigbee network coordinator '{self._mac_nc}'"
285285
+ f" failed to unregister node '{mac}'"
286286
)
287287
if (address := self.network_address(mac)) is not None:

0 commit comments

Comments
 (0)