pymammotion 0.2.33__tar.gz → 0.2.35__tar.gz

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.
Files changed (123) hide show
  1. {pymammotion-0.2.33 → pymammotion-0.2.35}/PKG-INFO +1 -1
  2. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/dataclass/session_by_authcode_response.py +3 -3
  3. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/device_config.py +2 -2
  4. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/hash_list.py +2 -1
  5. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/mqtt/event.py +2 -5
  6. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/state_manager.py +2 -3
  7. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/event/event.py +1 -1
  8. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/devices/base.py +3 -5
  9. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/devices/mammotion.py +0 -1
  10. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -1
  11. {pymammotion-0.2.33 → pymammotion-0.2.35}/pyproject.toml +3 -3
  12. {pymammotion-0.2.33 → pymammotion-0.2.35}/LICENSE +0 -0
  13. {pymammotion-0.2.33 → pymammotion-0.2.35}/README.md +0 -0
  14. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/__init__.py +0 -0
  15. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/__init__.py +0 -0
  16. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/cloud_gateway.py +0 -0
  17. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/cloud_service.py +0 -0
  18. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/dataclass/aep_response.py +0 -0
  19. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/dataclass/connect_response.py +0 -0
  20. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/dataclass/dev_by_account_response.py +0 -0
  21. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/dataclass/login_by_oauth_response.py +0 -0
  22. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/dataclass/regions_response.py +0 -0
  23. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/aliyun/tmp_constant.py +0 -0
  24. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/__init__.py +0 -0
  25. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/ble.py +0 -0
  26. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/ble_message.py +0 -0
  27. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/const.py +0 -0
  28. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/data/__init__.py +0 -0
  29. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/data/convert.py +0 -0
  30. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  31. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/bluetooth/data/notifydata.py +0 -0
  32. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/const.py +0 -0
  33. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/__init__.py +0 -0
  34. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/__init__.py +0 -0
  35. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/account.py +0 -0
  36. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/device.py +0 -0
  37. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/enums.py +0 -0
  38. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/excute_boarder_params.py +0 -0
  39. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/execute_boarder.py +0 -0
  40. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/generate_route_information.py +0 -0
  41. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/location.py +0 -0
  42. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/mowing_modes.py +0 -0
  43. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/plan.py +0 -0
  44. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/rapid_state.py +0 -0
  45. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/region_data.py +0 -0
  46. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/model/report_info.py +0 -0
  47. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/mqtt/__init__.py +0 -0
  48. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/mqtt/properties.py +0 -0
  49. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/data/mqtt/status.py +0 -0
  50. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/event/__init__.py +0 -0
  51. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/http/_init_.py +0 -0
  52. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/http/http.py +0 -0
  53. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/http/model/http.py +0 -0
  54. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/__init__.py +0 -0
  55. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/__init__.py +0 -0
  56. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  57. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  58. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  59. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  60. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/media.py +0 -0
  61. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  62. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/network.py +0 -0
  63. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  64. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/system.py +0 -0
  65. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/commands/messages/video.py +0 -0
  66. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/control/__init__.py +0 -0
  67. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/control/joystick.py +0 -0
  68. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/devices/__init__.py +0 -0
  69. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  70. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mqtt/__init__.py +0 -0
  71. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mqtt/mammotion_future.py +0 -0
  72. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  73. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/__init__.py +0 -0
  74. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/basestation.proto +0 -0
  75. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/basestation.py +0 -0
  76. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/basestation_pb2.py +0 -0
  77. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/basestation_pb2.pyi +0 -0
  78. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/common.proto +0 -0
  79. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/common.py +0 -0
  80. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/common_pb2.py +0 -0
  81. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/common_pb2.pyi +0 -0
  82. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/dev_net.proto +0 -0
  83. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/dev_net.py +0 -0
  84. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/dev_net_pb2.py +0 -0
  85. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  86. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_msg.proto +0 -0
  87. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_msg.py +0 -0
  88. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_msg_pb2.py +0 -0
  89. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  90. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_mul.proto +0 -0
  91. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_mul.py +0 -0
  92. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_mul_pb2.py +0 -0
  93. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  94. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_driver.proto +0 -0
  95. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_driver.py +0 -0
  96. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  97. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  98. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_nav.proto +0 -0
  99. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_nav.py +0 -0
  100. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  101. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  102. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_ota.proto +0 -0
  103. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_ota.py +0 -0
  104. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  105. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  106. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_pept.proto +0 -0
  107. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_pept.py +0 -0
  108. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  109. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  110. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_sys.proto +0 -0
  111. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_sys.py +0 -0
  112. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  113. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  114. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/py.typed +0 -0
  115. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/constant/__init__.py +0 -0
  116. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/constant/device_constant.py +0 -0
  117. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/conversions.py +0 -0
  118. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/datatype_converter.py +0 -0
  119. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/device_type.py +0 -0
  120. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/map.py +0 -0
  121. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/movement.py +0 -0
  122. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/periodic.py +0 -0
  123. {pymammotion-0.2.33 → pymammotion-0.2.35}/pymammotion/utility/rocker_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pymammotion
3
- Version: 0.2.33
3
+ Version: 0.2.35
4
4
  Summary:
5
5
  License: GNU-3.0
6
6
  Author: Michael Arthur
@@ -1,5 +1,5 @@
1
- from dataclasses import dataclass, field
2
- from datetime import time
1
+ from dataclasses import dataclass
2
+ from typing import Optional
3
3
 
4
4
  from mashumaro.mixins.orjson import DataClassORJSONMixin
5
5
 
@@ -16,4 +16,4 @@ class SessionOauthToken(DataClassORJSONMixin):
16
16
  @dataclass
17
17
  class SessionByAuthCodeResponse(DataClassORJSONMixin):
18
18
  code: int
19
- data: SessionOauthToken
19
+ data: Optional[SessionOauthToken]
@@ -43,7 +43,7 @@ def create_path_order(operation_mode: OperationSettings, device_name: str) -> st
43
43
  bArr = bytearray(8)
44
44
  bArr[0] = operation_mode.border_mode
45
45
  bArr[1] = operation_mode.obstacle_laps
46
- bArr[3] = operation_mode.start_progress
46
+ bArr[3] = int(operation_mode.start_progress)
47
47
  bArr[2] = 0
48
48
 
49
49
  if not DeviceType.is_luba1(device_name):
@@ -54,7 +54,7 @@ def create_path_order(operation_mode: OperationSettings, device_name: str) -> st
54
54
  i = 0
55
55
  bArr[5] = i
56
56
  if operation_mode.is_dump:
57
- b = operation_mode.collect_grass_frequency
57
+ b = int(operation_mode.collect_grass_frequency)
58
58
  else:
59
59
  b = 10
60
60
  bArr[6] = b
@@ -1,7 +1,7 @@
1
1
  from dataclasses import dataclass, field
2
2
  from enum import IntEnum
3
3
 
4
- from pymammotion.proto.mctrl_nav import NavGetCommDataAck, AreaHashName
4
+ from pymammotion.proto.mctrl_nav import AreaHashName, NavGetCommDataAck
5
5
 
6
6
 
7
7
  class PathType(IntEnum):
@@ -24,6 +24,7 @@ class HashList:
24
24
  [hashID, FrameList].
25
25
  hashlist for all our hashIDs for verification
26
26
  """
27
+
27
28
  area: dict # type 0
28
29
  path: dict # type 2
29
30
  obstacle: dict # type 1
@@ -1,7 +1,6 @@
1
- import base64
2
1
  from base64 import b64decode
3
2
  from dataclasses import dataclass
4
- from typing import Any, Literal, Optional, Union, Mapping
3
+ from typing import Any, Literal, Optional, Union
5
4
 
6
5
  from google.protobuf import json_format
7
6
  from mashumaro.mixins.orjson import DataClassORJSONMixin
@@ -40,8 +39,6 @@ class DeviceProtobufMsgEventValue(DataClassORJSONMixin):
40
39
  content: str
41
40
 
42
41
 
43
-
44
-
45
42
  @dataclass
46
43
  class DeviceWarningEventValue(DataClassORJSONMixin):
47
44
  # TODO: enum for error codes
@@ -64,7 +61,7 @@ class DeviceNotificationEventCode(DataClassORJSONMixin):
64
61
 
65
62
  @dataclass
66
63
  class DeviceNotificationEventValue(DataClassORJSONMixin):
67
- data: str # parsed to DeviceNotificationEventCode
64
+ data: str # parsed to DeviceNotificationEventCode
68
65
 
69
66
 
70
67
  @dataclass
@@ -1,12 +1,12 @@
1
1
  """Manage state from notifications into MowingDevice."""
2
2
 
3
- from typing import Optional, Callable, Awaitable
3
+ from typing import Awaitable, Callable, Optional
4
4
 
5
5
  import betterproto
6
6
 
7
7
  from pymammotion.data.model.device import MowingDevice
8
8
  from pymammotion.proto.luba_msg import LubaMsg
9
- from pymammotion.proto.mctrl_nav import NavGetCommDataAck, NavGetHashListAck, AppGetAllAreaHashName
9
+ from pymammotion.proto.mctrl_nav import AppGetAllAreaHashName, NavGetCommDataAck, NavGetHashListAck
10
10
 
11
11
 
12
12
  class StateManager:
@@ -66,7 +66,6 @@ class StateManager:
66
66
  hash_names: AppGetAllAreaHashName = nav_msg[1]
67
67
  self._device.map.area_name = hash_names.hashnames
68
68
 
69
-
70
69
  def _update_sys_data(self, message) -> None:
71
70
  """Update system."""
72
71
  sys_msg = betterproto.which_one_of(message.sys, "SubSysMsg")
@@ -60,7 +60,7 @@ class DataEvent:
60
60
  if data:
61
61
  await self.on_data_event(data)
62
62
  else:
63
- await self.on_data_event(None)
63
+ await self.on_data_event()
64
64
 
65
65
  def add_subscribers(self, obj_method) -> None:
66
66
  self.on_data_event += obj_method
@@ -206,8 +206,9 @@ class MammotionBaseDevice:
206
206
  await self.queue_command("get_area_name_list", device_id=self._cloud_device.deviceName)
207
207
  if has_field(self._mower.net.toapp_wifi_iot_status):
208
208
  if not DeviceType.is_luba1(self._mower.net.toapp_wifi_iot_status.devicename):
209
- await self.queue_command("get_area_name_list",
210
- device_id=self._mower.net.toapp_wifi_iot_status.devicename)
209
+ await self.queue_command(
210
+ "get_area_name_list", device_id=self._mower.net.toapp_wifi_iot_status.devicename
211
+ )
211
212
  except Exception:
212
213
  """Do nothing for now."""
213
214
 
@@ -220,9 +221,6 @@ class MammotionBaseDevice:
220
221
  for data_hash in self.mower.nav.toapp_gethash_ack.data_couple:
221
222
  await self.queue_command("synchronize_hash_data", hash_num=data_hash)
222
223
 
223
-
224
-
225
-
226
224
  # sub_cmd 3 is job hashes??
227
225
  # sub_cmd 4 is dump location (yuka)
228
226
  # jobs list
@@ -169,7 +169,6 @@ class Mammotion:
169
169
  else:
170
170
  device.replace_mqtt(self.mqtt)
171
171
 
172
-
173
172
  def set_disconnect_strategy(self, disconnect: bool) -> None:
174
173
  for device_name, device in self.devices.devices:
175
174
  if device.ble() is not None:
@@ -186,7 +186,6 @@ class MammotionBaseCloudDevice(MammotionBaseDevice):
186
186
  160, lambda: asyncio.ensure_future(self.run_periodic_sync_task())
187
187
  )
188
188
 
189
-
190
189
  async def queue_command(self, key: str, **kwargs: Any) -> bytes:
191
190
  # Create a future to hold the result
192
191
  _LOGGER.debug("Queueing command: %s", key)
@@ -1,10 +1,10 @@
1
1
  [project]
2
2
  name = "pymammotion"
3
- version = "0.2.33"
3
+ version = "0.2.35"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pymammotion"
7
- version = "0.2.33"
7
+ version = "0.2.35"
8
8
  license = "GNU-3.0"
9
9
  description = ""
10
10
  readme = "README.md"
@@ -55,7 +55,7 @@ mypy = "^1.10.0"
55
55
  pre-commit = "^3.8.0"
56
56
 
57
57
  [tool.bumpver]
58
- current_version = "0.2.33"
58
+ current_version = "0.2.35"
59
59
  version_pattern = "MAJOR.MINOR.PATCH"
60
60
  commit_message = "Bump version {old_version} -> {new_version}"
61
61
  commit = true
File without changes
File without changes