Skip to content

Commit 171c302

Browse files
authored
fix: error catch and typing (#133)
1 parent 316fc0d commit 171c302

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

roborock/api.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,10 @@ def on_message_received(self, messages: list[RoborockMessage]) -> None:
293293
payload = data.payload[0:24]
294294
[endpoint, _, request_id, _] = struct.unpack("<8s8sH6s", payload)
295295
if endpoint.decode().startswith(self._endpoint):
296-
decrypted = Utils.decrypt_cbc(data.payload[24:], self._nonce)
296+
try:
297+
decrypted = Utils.decrypt_cbc(data.payload[24:], self._nonce)
298+
except ValueError as err:
299+
raise RoborockException("Failed to decode %s for %s", data.payload, data.protocol) from err
297300
decompressed = Utils.decompress(decrypted)
298301
queue = self._waiting_queue.get(request_id)
299302
if queue:

roborock/py.typed

Whitespace-only changes.

0 commit comments

Comments
 (0)