pymammotion 0.5.12__tar.gz → 0.5.13__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.
- {pymammotion-0.5.12 → pymammotion-0.5.13}/PKG-INFO +1 -1
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/devices/mammotion.py +10 -8
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_driver.proto +2 -2
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pyproject.toml +2 -2
- {pymammotion-0.5.12 → pymammotion-0.5.13}/LICENSE +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/README.md +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/client.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/cloud_gateway.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/aep_response.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/connect_response.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/regions_response.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/regions.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/tea/core.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/tmp_constant.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/ble.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/ble_message.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/const.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/data/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/data/convert.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/data/framectrldata.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/data/notifydata.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/model/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/const.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/account.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/device.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/device_config.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/device_info.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/device_limits.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/enums.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/errors.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/excute_boarder_params.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/execute_boarder.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/generate_route_information.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/hash_list.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/location.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/mowing_modes.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/rapid_state.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/raw_data.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/region_data.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/report_info.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/work.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/mqtt/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/mqtt/event.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/mqtt/properties.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/mqtt/status.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/state_manager.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/event/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/event/event.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/_init_.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/encryption.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/http.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/model/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/model/camera_stream.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/model/http.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/http/model/response_factory.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/abstract_message.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/driver.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/media.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/network.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/ota.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/system.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/video.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/control/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/control/joystick.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/devices/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/devices/base.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mqtt/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mqtt/linkkit/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mqtt/linkkit/h2client.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mqtt/mammotion_future.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/basestation.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/basestation_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/basestation_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/common.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/common_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/common_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/dev_net.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/dev_net_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/dev_net_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/luba_msg.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/luba_msg_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/luba_mul.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/luba_mul_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_nav.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_ota.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_pept.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_sys.proto +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/py.typed +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/constant/__init__.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/constant/device_constant.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/conversions.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/datatype_converter.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/device_config.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/device_type.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/map.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/movement.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/mur_mur_hash.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/periodic.py +0 -0
- {pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/utility/rocker_util.py +0 -0
|
@@ -139,11 +139,13 @@ class MammotionDeviceManager:
|
|
|
139
139
|
if mammotion_device.has_ble():
|
|
140
140
|
exists.replace_ble(mammotion_device.ble())
|
|
141
141
|
|
|
142
|
+
def has_device(self, mammotion_device_name: str) -> bool:
|
|
143
|
+
if self.devices.get(mammotion_device_name, None) is not None:
|
|
144
|
+
return True
|
|
145
|
+
return False
|
|
146
|
+
|
|
142
147
|
def get_device(self, mammotion_device_name: str) -> MammotionMixedDeviceManager:
|
|
143
|
-
|
|
144
|
-
return device
|
|
145
|
-
else:
|
|
146
|
-
raise KeyError
|
|
148
|
+
return self.devices[mammotion_device_name]
|
|
147
149
|
|
|
148
150
|
async def remove_device(self, name: str) -> None:
|
|
149
151
|
"""Remove a device."""
|
|
@@ -231,8 +233,8 @@ class Mammotion:
|
|
|
231
233
|
def add_cloud_devices(self, mqtt_client: MammotionCloud) -> None:
|
|
232
234
|
"""Add devices from cloud."""
|
|
233
235
|
for device in mqtt_client.cloud_client.devices_by_account_response.data.data:
|
|
234
|
-
|
|
235
|
-
if device.deviceName.startswith(("Luba-", "Yuka-")) and
|
|
236
|
+
has_device = self.device_manager.has_device(device.deviceName)
|
|
237
|
+
if device.deviceName.startswith(("Luba-", "Yuka-")) and not has_device:
|
|
236
238
|
mixed_device = MammotionMixedDeviceManager(
|
|
237
239
|
name=device.deviceName,
|
|
238
240
|
iot_id=device.iotId,
|
|
@@ -284,8 +286,8 @@ class Mammotion:
|
|
|
284
286
|
return self.device_manager.get_device(name)
|
|
285
287
|
|
|
286
288
|
def get_or_create_device_by_name(self, device: Device, mqtt_client: MammotionCloud) -> MammotionMixedDeviceManager:
|
|
287
|
-
if
|
|
288
|
-
return
|
|
289
|
+
if self.device_manager.has_device(device.deviceName):
|
|
290
|
+
return self.device_manager.get_device(device.deviceName)
|
|
289
291
|
mow_device = MammotionMixedDeviceManager(
|
|
290
292
|
name=device.deviceName,
|
|
291
293
|
iot_id=device.iotId,
|
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pymammotion"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.13"
|
|
8
8
|
license = "GPL-3.0"
|
|
9
9
|
description = ""
|
|
10
10
|
readme = "README.md"
|
|
@@ -66,7 +66,7 @@ autotyping = "^24.3.0"
|
|
|
66
66
|
ipython = "^9.0.2"
|
|
67
67
|
|
|
68
68
|
[tool.bumpver]
|
|
69
|
-
current_version = "0.5.
|
|
69
|
+
current_version = "0.5.13"
|
|
70
70
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
71
71
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
72
72
|
commit = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/dev_by_account_response.py
RENAMED
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/login_by_oauth_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/aliyun/model/session_by_authcode_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/data/model/generate_route_information.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/abstract_message.py
RENAMED
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/mammotion_command.py
RENAMED
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/navigation.py
RENAMED
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/commands/messages/network.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.12 → pymammotion-0.5.13}/pymammotion/mammotion/devices/mammotion_bluetooth.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|