pymammotion 0.2.0__tar.gz → 0.2.2__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.

Potentially problematic release.


This version of pymammotion might be problematic. Click here for more details.

Files changed (116) hide show
  1. {pymammotion-0.2.0 → pymammotion-0.2.2}/PKG-INFO +1 -1
  2. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/dataclass/aep_response.py +4 -0
  3. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/dataclass/dev_by_account_response.py +4 -0
  4. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/dataclass/regions_response.py +4 -0
  5. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/http/http.py +1 -1
  6. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/devices/mammotion.py +16 -5
  7. {pymammotion-0.2.0 → pymammotion-0.2.2}/pyproject.toml +2 -2
  8. {pymammotion-0.2.0 → pymammotion-0.2.2}/LICENSE +0 -0
  9. {pymammotion-0.2.0 → pymammotion-0.2.2}/README.md +0 -0
  10. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/__init__.py +0 -0
  11. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/__init__.py +0 -0
  12. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/cloud_gateway.py +0 -0
  13. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/cloud_service.py +0 -0
  14. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/dataclass/connect_response.py +0 -0
  15. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/dataclass/login_by_oauth_response.py +0 -0
  16. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/dataclass/session_by_authcode_response.py +0 -0
  17. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/aliyun/tmp_constant.py +0 -0
  18. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/__init__.py +0 -0
  19. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/ble.py +0 -0
  20. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/ble_message.py +0 -0
  21. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/const.py +0 -0
  22. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/data/__init__.py +0 -0
  23. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/data/convert.py +0 -0
  24. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  25. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/bluetooth/data/notifydata.py +0 -0
  26. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/const.py +0 -0
  27. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/__init__.py +0 -0
  28. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/__init__.py +0 -0
  29. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/account.py +0 -0
  30. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/device.py +0 -0
  31. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/device_config.py +0 -0
  32. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/enums.py +0 -0
  33. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/excute_boarder_params.py +0 -0
  34. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/execute_boarder.py +0 -0
  35. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/generate_route_information.py +0 -0
  36. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/hash_list.py +0 -0
  37. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/location.py +0 -0
  38. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/mowing_modes.py +0 -0
  39. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/plan.py +0 -0
  40. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/rapid_state.py +0 -0
  41. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/region_data.py +0 -0
  42. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/model/report_info.py +0 -0
  43. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/mqtt/__init__.py +0 -0
  44. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/mqtt/event.py +0 -0
  45. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/mqtt/properties.py +0 -0
  46. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/mqtt/status.py +0 -0
  47. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/data/state_manager.py +0 -0
  48. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/event/__init__.py +0 -0
  49. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/event/event.py +0 -0
  50. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/http/_init_.py +0 -0
  51. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/__init__.py +0 -0
  52. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/__init__.py +0 -0
  53. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  54. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  55. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  56. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  57. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/media.py +0 -0
  58. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  59. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/network.py +0 -0
  60. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  61. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/system.py +0 -0
  62. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/commands/messages/video.py +0 -0
  63. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/control/__init__.py +0 -0
  64. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/control/joystick.py +0 -0
  65. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mammotion/devices/__init__.py +0 -0
  66. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mqtt/__init__.py +0 -0
  67. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  68. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/__init__.py +0 -0
  69. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/basestation.proto +0 -0
  70. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/basestation.py +0 -0
  71. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/basestation_pb2.py +0 -0
  72. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/basestation_pb2.pyi +0 -0
  73. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/common.proto +0 -0
  74. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/common.py +0 -0
  75. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/common_pb2.py +0 -0
  76. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/common_pb2.pyi +0 -0
  77. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/dev_net.proto +0 -0
  78. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/dev_net.py +0 -0
  79. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/dev_net_pb2.py +0 -0
  80. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  81. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_msg.proto +0 -0
  82. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_msg.py +0 -0
  83. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_msg_pb2.py +0 -0
  84. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  85. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_mul.proto +0 -0
  86. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_mul.py +0 -0
  87. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_mul_pb2.py +0 -0
  88. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  89. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_driver.proto +0 -0
  90. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_driver.py +0 -0
  91. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  92. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  93. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_nav.proto +0 -0
  94. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_nav.py +0 -0
  95. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  96. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  97. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_ota.proto +0 -0
  98. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_ota.py +0 -0
  99. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  100. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  101. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_pept.proto +0 -0
  102. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_pept.py +0 -0
  103. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  104. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  105. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_sys.proto +0 -0
  106. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_sys.py +0 -0
  107. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  108. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  109. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/py.typed +0 -0
  110. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/utility/constant/__init__.py +0 -0
  111. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/utility/constant/device_constant.py +0 -0
  112. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/utility/datatype_converter.py +0 -0
  113. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/utility/device_type.py +0 -0
  114. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/utility/map.py +0 -0
  115. {pymammotion-0.2.0 → pymammotion-0.2.2}/pymammotion/utility/periodic.py +0 -0
  116. {pymammotion-0.2.0 → pymammotion-0.2.2}/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.0
3
+ Version: 0.2.2
4
4
  Summary:
5
5
  License: GNU-3.0
6
6
  Author: Michael Arthur
@@ -1,6 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional
3
3
 
4
+ from mashumaro.config import BaseConfig
4
5
  from mashumaro.mixins.orjson import DataClassORJSONMixin
5
6
 
6
7
 
@@ -16,3 +17,6 @@ class AepResponse(DataClassORJSONMixin):
16
17
  code: int
17
18
  data: DeviceData
18
19
  id: Optional[str] = None
20
+
21
+ class Config(BaseConfig):
22
+ omit_default = True
@@ -1,6 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import List, Optional
3
3
 
4
+ from mashumaro.config import BaseConfig
4
5
  from mashumaro.mixins.orjson import DataClassORJSONMixin
5
6
 
6
7
 
@@ -27,6 +28,9 @@ class Device(DataClassORJSONMixin):
27
28
  categoryImage: Optional[str] = None
28
29
  productModel: Optional[str] = None
29
30
 
31
+ class Config(BaseConfig):
32
+ omit_default = True
33
+
30
34
 
31
35
  @dataclass
32
36
  class Data(DataClassORJSONMixin):
@@ -2,6 +2,7 @@ from dataclasses import dataclass
2
2
  from typing import Optional, TypeVar
3
3
 
4
4
  from mashumaro import DataClassDictMixin
5
+ from mashumaro.config import BaseConfig
5
6
  from mashumaro.mixins.orjson import DataClassORJSONMixin
6
7
 
7
8
  DataT = TypeVar("DataT")
@@ -24,3 +25,6 @@ class RegionResponse(DataClassDictMixin):
24
25
  code: int
25
26
  id: Optional[str] = None
26
27
  msg: Optional[str] = None
28
+
29
+ class Config(BaseConfig):
30
+ omit_default = True
@@ -50,7 +50,7 @@ class MammotionHTTP:
50
50
  def __init__(self, login: LoginResponseData):
51
51
  self._headers = dict()
52
52
  self._headers["Authorization"] = f"Bearer {login.access_token}"
53
- self.login = login
53
+ self.login_info = login
54
54
 
55
55
  @classmethod
56
56
  async def login(cls, session: ClientSession, username: str, password: str) -> Response[LoginResponseData]:
@@ -177,12 +177,12 @@ class MammotionDevice:
177
177
  cloud_client = CloudIOTGateway()
178
178
  async with ClientSession(MAMMOTION_DOMAIN) as session:
179
179
  mammotion_http = await connect_http(account, password)
180
- country_code = mammotion_http.login.userInformation.domainAbbreviation
180
+ country_code = mammotion_http.login_info.userInformation.domainAbbreviation
181
181
  _LOGGER.debug("CountryCode: " + country_code)
182
- _LOGGER.debug("AuthCode: " + mammotion_http.login.authorization_code)
183
- cloud_client.get_region(country_code, mammotion_http.login.authorization_code)
182
+ _LOGGER.debug("AuthCode: " + mammotion_http.login_info.authorization_code)
183
+ cloud_client.get_region(country_code, mammotion_http.login_info.authorization_code)
184
184
  await cloud_client.connect()
185
- await cloud_client.login_by_oauth(country_code, mammotion_http.login.authorization_code)
185
+ await cloud_client.login_by_oauth(country_code, mammotion_http.login_info.authorization_code)
186
186
  cloud_client.aep_handle()
187
187
  cloud_client.session_by_auth_code()
188
188
 
@@ -206,8 +206,19 @@ class MammotionDevice:
206
206
  return await self._cloud_device.command(key, **kwargs)
207
207
  # TODO work with both with EITHER
208
208
 
209
+ async def start_sync(self, retry: int):
210
+ if self._preference is ConnectionPreference.BLUETOOTH:
211
+ return await self._ble_device.start_sync(retry)
212
+ if self._preference is ConnectionPreference.WIFI:
213
+ return await self._cloud_device.start_sync(retry)
214
+ # TODO work with both with EITHER
209
215
 
210
-
216
+ async def start_map_sync(self):
217
+ if self._preference is ConnectionPreference.BLUETOOTH:
218
+ return await self._ble_device.start_map_sync()
219
+ if self._preference is ConnectionPreference.WIFI:
220
+ return await self._cloud_device.start_map_sync()
221
+ # TODO work with both with EITHER
211
222
 
212
223
  def has_field(message: betterproto.Message) -> bool:
213
224
  """Check if the message has any fields serialized on wire."""
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pymammotion"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  license = "GNU-3.0"
5
5
  description = ""
6
6
  readme = "README.md"
@@ -48,7 +48,7 @@ mypy = "^1.10.0"
48
48
  pre-commit = "^3.7.1"
49
49
 
50
50
  [tool.bumpver]
51
- current_version = "0.2.0"
51
+ current_version = "0.2.2"
52
52
  version_pattern = "MAJOR.MINOR.PATCH"
53
53
  commit_message = "Bump version {old_version} -> {new_version}"
54
54
  commit = true
File without changes
File without changes