pymammotion 0.4.7__py3-none-any.whl → 0.4.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,7 @@ from alibabacloud_iot_api_gateway.client import Client
16
16
  from alibabacloud_iot_api_gateway.models import CommonParams, Config, IoTApiRequest
17
17
  from alibabacloud_tea_util.client import Client as UtilClient
18
18
  from alibabacloud_tea_util.models import RuntimeOptions
19
+ from Tea.exceptions import UnretryableException
19
20
 
20
21
  from pymammotion.aliyun.model.aep_response import AepResponse
21
22
  from pymammotion.aliyun.model.connect_response import ConnectResponse
@@ -54,6 +55,10 @@ class DeviceOfflineException(Exception):
54
55
  """Raise exception when device is offline."""
55
56
 
56
57
 
58
+ class NoConnectionException(UnretryableException):
59
+ """Raise exception when device is unreachable."""
60
+
61
+
57
62
  class GatewayTimeoutException(Exception):
58
63
  """Raise exception when the gateway times out."""
59
64
 
@@ -44,6 +44,13 @@ class TraversalMode(IntEnum):
44
44
  follow_perimeter = 1
45
45
 
46
46
 
47
+ class TurningMode(IntEnum):
48
+ """Turning mode on corners."""
49
+
50
+ multipoint = 0
51
+ zero_turn = 1
52
+
53
+
47
54
  class DetectionStrategy(IntEnum):
48
55
  """Matches up with ultra_wave."""
49
56
 
@@ -4,7 +4,7 @@ from enum import StrEnum
4
4
  from mashumaro.mixins.orjson import DataClassORJSONMixin
5
5
 
6
6
 
7
- class NetUsedType(str, StrEnum):
7
+ class NetUsedType(StrEnum):
8
8
  NONE = "NONE"
9
9
  WIFI = "WIFI"
10
10
  MNET = "MNET"
@@ -140,6 +140,6 @@ class ReportData(DataClassORJSONMixin):
140
140
  self.dev = DeviceData.from_dict(data.get("dev", self.dev.to_dict()))
141
141
  self.rtk = RTKData.from_dict(data.get("rtk", self.rtk.to_dict()))
142
142
  self.maintenance = Maintain.from_dict(data.get("maintain", self.maintenance.to_dict()))
143
- self.vision_info = VisionInfo.from_dict(data.get("vio_to_app_info", VisionInfo(0, 0, 0, 0, 0, 0, 0).to_dict()))
143
+ self.vision_info = VisionInfo.from_dict(data.get("vio_to_app_info", VisionInfo().to_dict()))
144
144
  self.locations = locations
145
145
  self.work = WorkData.from_dict(data.get("work", self.work.to_dict()))
@@ -8,7 +8,7 @@ from mashumaro.mixins.orjson import DataClassORJSONMixin
8
8
  @dataclass
9
9
  class GroupIdListItem(DataClassORJSONMixin):
10
10
  groupId: str
11
- groupType: Literal["ISOLATION"]
11
+ groupType: Literal["ISOLATION", "ILOP_APP"]
12
12
 
13
13
 
14
14
  # are there other values?
@@ -8,6 +8,7 @@ import logging
8
8
  from typing import Any, cast
9
9
 
10
10
  import betterproto
11
+ from Tea.exceptions import UnretryableException
11
12
 
12
13
  from pymammotion import CloudIOTGateway, MammotionMQTT
13
14
  from pymammotion.aliyun.cloud_gateway import DeviceOfflineException
@@ -201,7 +202,7 @@ class MammotionBaseCloudDevice(MammotionBaseDevice):
201
202
  try:
202
203
  if self.on_ready_callback:
203
204
  await self.on_ready_callback()
204
- except DeviceOfflineException:
205
+ except (DeviceOfflineException, UnretryableException):
205
206
  _LOGGER.debug("Device is offline")
206
207
 
207
208
  async def on_disconnect(self) -> None:
@@ -141,7 +141,7 @@ message NavGetCommData {
141
141
  int32 subCmd = 2;
142
142
  int32 action = 3;
143
143
  int32 type = 4;
144
- fixed64 hash = 5;
144
+ int64 hash = 5;
145
145
  int64 paternalHashA = 6;
146
146
  int64 paternalHashB = 7;
147
147
  int32 totalFrame = 8;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.4.7
3
+ Version: 0.4.9
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -1,6 +1,6 @@
1
1
  pymammotion/__init__.py,sha256=u1OHuD8Uj0qCOH4I7Lt5d7T-TPt1R0pY-bv8S6UfVxM,1587
2
2
  pymammotion/aliyun/__init__.py,sha256=T1lkX7TRYiL4nqYanG4l4MImV-SlavSbuooC-W-uUGw,29
3
- pymammotion/aliyun/cloud_gateway.py,sha256=bLTFivD7qpNXjzpM85Tao2y2urHXah5PZOdLc3iQ1nw,26099
3
+ pymammotion/aliyun/cloud_gateway.py,sha256=2IE72NSM93rtHIAmdTnIdXU_Ak2txXNiaayVSkND6WQ,26254
4
4
  pymammotion/aliyun/model/aep_response.py,sha256=EY4uMTJ4F9rvbcXnAOc5YKi7q__9kIVgfDwfyr65Gk0,421
5
5
  pymammotion/aliyun/model/connect_response.py,sha256=Yz-fEbDzgGPTo5Of2oAjmFkSv08T7ze80pQU4k-gKIU,824
6
6
  pymammotion/aliyun/model/dev_by_account_response.py,sha256=P9yYy4Z2tLkJSqXA_5XGaCUliSSVa5ILl7VoMtL_tCA,977
@@ -33,16 +33,16 @@ pymammotion/data/model/execute_boarder.py,sha256=9rd_h4fbcsXxgnLOd2rO2hWyD1abnTG
33
33
  pymammotion/data/model/generate_route_information.py,sha256=pgjqURwmEIzjCMbl4Z5JDDkfxyUAdry1KhPfyir3-mU,777
34
34
  pymammotion/data/model/hash_list.py,sha256=1mwL715Q-OizowBDDPk1n_mYDZgb7kz24cIfzKu0QUM,7892
35
35
  pymammotion/data/model/location.py,sha256=PwmITejfI4pm7PI4rzqSuuHetwle6IJr_CV95435s2M,871
36
- pymammotion/data/model/mowing_modes.py,sha256=D9Tm8tRbVlu6i12-Lf3fp5KPG_qHnUvu273C6BGyJqc,975
36
+ pymammotion/data/model/mowing_modes.py,sha256=bBbRhDe-imZsXDR0TN0emQv6BiIkAlXJFb5isPEjgDk,1078
37
37
  pymammotion/data/model/plan.py,sha256=wGlcJT-w0EdbWK9jI838TCOm_MABFg7WoR664VB8RWg,2880
38
38
  pymammotion/data/model/rapid_state.py,sha256=mIdhAG_LZXpVcybxqTLgLXkNOmVmDTn04B9PGIDA8Ls,1251
39
39
  pymammotion/data/model/raw_data.py,sha256=x2xuqVC8CQuV3ui3QK4G5EqRET9EsNljHLHR11ByYgo,6471
40
40
  pymammotion/data/model/region_data.py,sha256=VokMRqB_o4OFL1TWAM90Fvm-1z4jcYrw3X2o760qpx4,2949
41
- pymammotion/data/model/report_info.py,sha256=SgZDTO6DHO9zNO03ygmGDgsTZ9PQffKtLf_dAdvsV3s,3832
41
+ pymammotion/data/model/report_info.py,sha256=3nXBFRfdKWnZj4YfBcrPwhBRpq58ICMQlrESfI1tTMg,3808
42
42
  pymammotion/data/mqtt/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
43
43
  pymammotion/data/mqtt/event.py,sha256=r14gzZVxmlGVAwFdZQ1CUsMZFHHwRKnbt2VHnjugP28,5123
44
44
  pymammotion/data/mqtt/properties.py,sha256=pX5JRVmmpVO04CSPm5xAGcSWA_OeLd0JnBagLsfiSEc,3755
45
- pymammotion/data/mqtt/status.py,sha256=DuNC3JdewLPKNqNHx76_FPXRvheYSiM-CdiVTCCYY8s,1079
45
+ pymammotion/data/mqtt/status.py,sha256=SgdrpE1Uldb01hybO6hYhgU1Sp1eILghC0UhMZMHrdQ,1091
46
46
  pymammotion/data/state_manager.py,sha256=H3xHcLorw4xBtDAhyigl5rd1SYkLaSTBB9qQ6XQV9SM,8646
47
47
  pymammotion/event/__init__.py,sha256=mgATR6vPHACNQ-0zH5fi7NdzeTCDV1CZyaWPmtUusi8,115
48
48
  pymammotion/event/event.py,sha256=bj2RirSIRyBs0QvkcrOtwZWUX_8F3m1sySuHVyKmZLs,2143
@@ -68,7 +68,7 @@ pymammotion/mammotion/devices/__init__.py,sha256=f2qQFPgLGmV85W2hSlMUh5BYuht9o_A
68
68
  pymammotion/mammotion/devices/base.py,sha256=Klkmvo56VgAX_zqen__lhbRb41k2U9HEHzA7t9FoZjc,10333
69
69
  pymammotion/mammotion/devices/mammotion.py,sha256=Zz2tUIdGA-jFSHLM3aO8tBMvVl7sBIBiqC9Kg7f-lm8,13190
70
70
  pymammotion/mammotion/devices/mammotion_bluetooth.py,sha256=oNDwtDKsdsG62frehBCg6xmwF3CD3VJ32iUwQcAjzKo,19576
71
- pymammotion/mammotion/devices/mammotion_cloud.py,sha256=-mUZkLP5vgApG-5r3GIRUNmjCGwas11H5u2JhrI0X3U,13929
71
+ pymammotion/mammotion/devices/mammotion_cloud.py,sha256=Pgd_jEX2-Y4g5zRI_HW3vr_hW0g_8U73aQkgN3FVG5o,14001
72
72
  pymammotion/mqtt/__init__.py,sha256=Ocs5e-HLJvTuDpVXyECEsWIvwsUaxzj7lZ9mSYutNDY,105
73
73
  pymammotion/mqtt/linkkit/__init__.py,sha256=ENgc3ynd2kd9gMQR3-kgmCu6Ed9Y6XCIzU0zFReUlkk,80
74
74
  pymammotion/mqtt/linkkit/h2client.py,sha256=w9Nvi_nY4CLD_fw-pHtYChwQf7e2TiAGeqkY_sF4cf0,19659
@@ -94,7 +94,7 @@ pymammotion/proto/luba_mul_pb2.pyi,sha256=f_lR1S7kkvwq67t7WO0SPG84dljA7fM3iCEz4x
94
94
  pymammotion/proto/mctrl_driver.proto,sha256=I0BncdAa3laeqT17Sn95r_1HuBD3dSc9IVu9U3o0fU4,1385
95
95
  pymammotion/proto/mctrl_driver_pb2.py,sha256=bfLwZb5Hehb6OIkgFrZMkQ0oTBXoOBxpruszKz-UM1U,3785
96
96
  pymammotion/proto/mctrl_driver_pb2.pyi,sha256=9_rcQELsSeOfeIQMTEFIpeXICpDe3arQeA4kAYWNSWw,5860
97
- pymammotion/proto/mctrl_nav.proto,sha256=bNnMQOp0lz61Xc4hiOCWGIcHF0BLk6wtfbLc7BHqn1Y,12459
97
+ pymammotion/proto/mctrl_nav.proto,sha256=VC7lVfEfwDaj1o17CSnJRfAtxYy4wSEtOmfCZqN7050,12457
98
98
  pymammotion/proto/mctrl_nav_pb2.py,sha256=Tx1aIZlee6mt22zViX1Em6mDoI4IvY9fS0aDHBG3QQ8,24390
99
99
  pymammotion/proto/mctrl_nav_pb2.pyi,sha256=MKc6uXAhEpKE_b28wC7I09DefoDtF2ciKsfCW8uCcgk,51655
100
100
  pymammotion/proto/mctrl_ota.proto,sha256=4iHr-v1R0QiNndCnv3b6mhXiERLukB67ZzhTgt1iMc0,629
@@ -117,7 +117,7 @@ pymammotion/utility/map.py,sha256=GYscVMg2cX3IPlNpCBNHDW0S55yS1WGRf1iHnNZ7TfQ,22
117
117
  pymammotion/utility/movement.py,sha256=N75oAoAgFydqoaOedYIxGUHmuTCtPzAOtb-d_29tpfI,615
118
118
  pymammotion/utility/periodic.py,sha256=MbeSb9cfhxzYmdT_RiE0dZe3H9IfbQW_zSqhmSX2RUc,3321
119
119
  pymammotion/utility/rocker_util.py,sha256=6tX7sS87qoQC_tsxbx3NLL-HgS08wtzXiZkhDiz7uo0,7179
120
- pymammotion-0.4.7.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
121
- pymammotion-0.4.7.dist-info/METADATA,sha256=Tpk_6ecQkXX-YWIbDObNCWX1v_OOePs80UyL2ipnrqA,3884
122
- pymammotion-0.4.7.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
123
- pymammotion-0.4.7.dist-info/RECORD,,
120
+ pymammotion-0.4.9.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
121
+ pymammotion-0.4.9.dist-info/METADATA,sha256=XNyGzp7QPZdl5_8dAyCTXeu4KpdeBkyA_dCEK_fXQJM,3884
122
+ pymammotion-0.4.9.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
123
+ pymammotion-0.4.9.dist-info/RECORD,,