Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion roborock/protocols/v1_protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,11 @@ def decode_rpc_response(message: RoborockMessage) -> ResponseMessage:
exc: RoborockException | None = None
if error := data_point_response.get("error"):
exc = RoborockException(error)
if not (result := data_point_response.get("result")):
if "result" not in data_point_response:
exc = RoborockException(f"Invalid V1 message format: missing 'result' in data point for {message.payload!r}")
result = None
else:
result = data_point_response["result"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this works too and can keep it a single line:

Suggested change
if "result" not in data_point_response:
exc = RoborockException(f"Invalid V1 message format: missing 'result' in data point for {message.payload!r}")
result = None
else:
result = data_point_response["result"]
if (result := data_point_response.get("result")) is None:
exc = RoborockException(f"Invalid V1 message format: missing 'result' in data point for {message.payload!r}")
else:

_LOGGER.debug("Decoded V1 message result: %s", result)
if isinstance(result, str):
if result == "unknown_method":
Expand Down
Loading