Skip to content

Commit d638f6e

Browse files
committed
fix: pass q7 scmap lint checks
1 parent bedf379 commit d638f6e

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

.pre-commit-config.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# See https://pre-commit.com for more information
22
# See https://pre-commit.com/hooks.html for more hooks
3-
exclude: "CHANGELOG.md"
3+
exclude: >
4+
(?x)^(
5+
CHANGELOG\.md|
6+
roborock/map/proto/.*_pb2\.py
7+
)$
48
default_stages: [ pre-commit ]
59

610
repos:
@@ -34,14 +38,20 @@ repos:
3438
rev: v0.13.2
3539
hooks:
3640
- id: ruff-format
41+
exclude: ^roborock/map/proto/.*_pb2\.py$
3742
- id: ruff
43+
exclude: ^roborock/map/proto/.*_pb2\.py$
3844
args:
3945
- --fix
4046
- repo: https://github.com/pre-commit/mirrors-mypy
4147
rev: v1.7.1
4248
hooks:
4349
- id: mypy
44-
exclude: cli.py
50+
exclude: >
51+
(?x)^(
52+
cli\.py|
53+
roborock/map/proto/.*_pb2\.py
54+
)$
4555
additional_dependencies: [ "types-paho-mqtt", "types-protobuf" ]
4656
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
4757
rev: v9.23.0

roborock/map/b01_map_parser.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io
1919
import zlib
2020
from dataclasses import dataclass, field
21+
from typing import Any
2122

2223
from Crypto.Cipher import AES
2324
from Crypto.Util.Padding import pad, unpad
@@ -184,7 +185,7 @@ def _decode_b01_map_payload(raw_payload: bytes, *, serial: str, model: str) -> b
184185
raise RoborockException("Failed to decode B01 map payload") from err
185186

186187

187-
def _parse_proto(blob: bytes, message: object, *, context: str) -> None:
188+
def _parse_proto(blob: bytes, message: Any, *, context: str) -> None:
188189
try:
189190
message.ParseFromString(blob)
190191
except DecodeError as err:
@@ -198,14 +199,14 @@ def _decode_map_data_bytes(value: bytes) -> bytes:
198199
return value
199200

200201

201-
def _parse_sc_point(parsed: b01_scmap_pb2.DevicePointInfo) -> _ScPoint:
202+
def _parse_sc_point(parsed: Any) -> _ScPoint:
202203
return _ScPoint(
203204
x=parsed.x if parsed.HasField("x") else None,
204205
y=parsed.y if parsed.HasField("y") else None,
205206
)
206207

207208

208-
def _parse_sc_map_boundary_info(parsed: b01_scmap_pb2.MapBoundaryInfo) -> _ScMapBoundaryInfo:
209+
def _parse_sc_map_boundary_info(parsed: Any) -> _ScMapBoundaryInfo:
209210
return _ScMapBoundaryInfo(
210211
map_md5=parsed.mapMd5 if parsed.HasField("mapMd5") else None,
211212
v_min_x=parsed.vMinX if parsed.HasField("vMinX") else None,
@@ -215,7 +216,7 @@ def _parse_sc_map_boundary_info(parsed: b01_scmap_pb2.MapBoundaryInfo) -> _ScMap
215216
)
216217

217218

218-
def _parse_sc_map_ext_info(parsed: b01_scmap_pb2.MapExtInfo) -> _ScMapExtInfo:
219+
def _parse_sc_map_ext_info(parsed: Any) -> _ScMapExtInfo:
219220
return _ScMapExtInfo(
220221
task_begin_date=parsed.taskBeginDate if parsed.HasField("taskBeginDate") else None,
221222
map_upload_date=parsed.mapUploadDate if parsed.HasField("mapUploadDate") else None,
@@ -229,7 +230,7 @@ def _parse_sc_map_ext_info(parsed: b01_scmap_pb2.MapExtInfo) -> _ScMapExtInfo:
229230
)
230231

231232

232-
def _parse_sc_map_head(parsed: b01_scmap_pb2.MapHeadInfo) -> _ScMapHead:
233+
def _parse_sc_map_head(parsed: Any) -> _ScMapHead:
233234
return _ScMapHead(
234235
map_head_id=parsed.mapHeadId if parsed.HasField("mapHeadId") else None,
235236
size_x=parsed.sizeX if parsed.HasField("sizeX") else None,
@@ -242,7 +243,7 @@ def _parse_sc_map_head(parsed: b01_scmap_pb2.MapHeadInfo) -> _ScMapHead:
242243
)
243244

244245

245-
def _parse_sc_room_data(parsed: b01_scmap_pb2.RoomDataInfo) -> _ScRoomData:
246+
def _parse_sc_room_data(parsed: Any) -> _ScRoomData:
246247
return _ScRoomData(
247248
room_id=parsed.roomId if parsed.HasField("roomId") else None,
248249
room_name=parsed.roomName if parsed.HasField("roomName") else None,
@@ -260,7 +261,7 @@ def _parse_sc_room_data(parsed: b01_scmap_pb2.RoomDataInfo) -> _ScRoomData:
260261

261262
def _parse_scmap_payload(payload: bytes) -> _ScMapPayload:
262263
"""Parse inflated SCMap bytes into typed map metadata."""
263-
parsed = b01_scmap_pb2.RobotMap()
264+
parsed: Any = getattr(b01_scmap_pb2, "RobotMap")()
264265
_parse_proto(payload, parsed, context="B01 SCMap")
265266

266267
map_data = None

0 commit comments

Comments
 (0)