pymammotion 0.2.52__tar.gz → 0.2.53__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 (124) hide show
  1. {pymammotion-0.2.52 → pymammotion-0.2.53}/PKG-INFO +1 -1
  2. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/hash_list.py +0 -2
  3. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/devices/mammotion.py +9 -5
  4. {pymammotion-0.2.52 → pymammotion-0.2.53}/pyproject.toml +3 -3
  5. {pymammotion-0.2.52 → pymammotion-0.2.53}/LICENSE +0 -0
  6. {pymammotion-0.2.52 → pymammotion-0.2.53}/README.md +0 -0
  7. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/__init__.py +0 -0
  8. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/__init__.py +0 -0
  9. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/cloud_gateway.py +0 -0
  10. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/cloud_service.py +0 -0
  11. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/aep_response.py +0 -0
  12. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/connect_response.py +0 -0
  13. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  14. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  15. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/regions_response.py +0 -0
  16. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  17. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/model/stream_subscription_response.py +0 -0
  18. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/aliyun/tmp_constant.py +0 -0
  19. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/__init__.py +0 -0
  20. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/ble.py +0 -0
  21. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/ble_message.py +0 -0
  22. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/const.py +0 -0
  23. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/data/__init__.py +0 -0
  24. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/data/convert.py +0 -0
  25. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  26. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/bluetooth/data/notifydata.py +0 -0
  27. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/const.py +0 -0
  28. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/__init__.py +0 -0
  29. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/__init__.py +0 -0
  30. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/account.py +0 -0
  31. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/device.py +0 -0
  32. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/device_config.py +0 -0
  33. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/enums.py +0 -0
  34. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/excute_boarder_params.py +0 -0
  35. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/execute_boarder.py +0 -0
  36. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/generate_route_information.py +0 -0
  37. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/location.py +0 -0
  38. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/mowing_modes.py +0 -0
  39. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/plan.py +0 -0
  40. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/rapid_state.py +0 -0
  41. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/region_data.py +0 -0
  42. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/model/report_info.py +0 -0
  43. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/mqtt/__init__.py +0 -0
  44. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/mqtt/event.py +0 -0
  45. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/mqtt/properties.py +0 -0
  46. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/mqtt/status.py +0 -0
  47. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/data/state_manager.py +0 -0
  48. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/event/__init__.py +0 -0
  49. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/event/event.py +0 -0
  50. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/http/_init_.py +0 -0
  51. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/http/http.py +0 -0
  52. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/http/model/http.py +0 -0
  53. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/__init__.py +0 -0
  54. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/__init__.py +0 -0
  55. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  56. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  57. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  58. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  59. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/media.py +0 -0
  60. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  61. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/network.py +0 -0
  62. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  63. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/system.py +0 -0
  64. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/commands/messages/video.py +0 -0
  65. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/control/__init__.py +0 -0
  66. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/control/joystick.py +0 -0
  67. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/devices/__init__.py +0 -0
  68. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/devices/base.py +0 -0
  69. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  70. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
  71. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mqtt/__init__.py +0 -0
  72. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mqtt/mammotion_future.py +0 -0
  73. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  74. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/__init__.py +0 -0
  75. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/basestation.proto +0 -0
  76. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/basestation.py +0 -0
  77. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/basestation_pb2.py +0 -0
  78. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/basestation_pb2.pyi +0 -0
  79. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/common.proto +0 -0
  80. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/common.py +0 -0
  81. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/common_pb2.py +0 -0
  82. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/common_pb2.pyi +0 -0
  83. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/dev_net.proto +0 -0
  84. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/dev_net.py +0 -0
  85. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/dev_net_pb2.py +0 -0
  86. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  87. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_msg.proto +0 -0
  88. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_msg.py +0 -0
  89. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_msg_pb2.py +0 -0
  90. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  91. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_mul.proto +0 -0
  92. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_mul.py +0 -0
  93. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_mul_pb2.py +0 -0
  94. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  95. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_driver.proto +0 -0
  96. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_driver.py +0 -0
  97. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  98. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  99. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_nav.proto +0 -0
  100. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_nav.py +0 -0
  101. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  102. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  103. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_ota.proto +0 -0
  104. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_ota.py +0 -0
  105. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  106. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  107. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_pept.proto +0 -0
  108. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_pept.py +0 -0
  109. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  110. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  111. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_sys.proto +0 -0
  112. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_sys.py +0 -0
  113. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  114. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  115. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/py.typed +0 -0
  116. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/constant/__init__.py +0 -0
  117. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/constant/device_constant.py +0 -0
  118. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/conversions.py +0 -0
  119. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/datatype_converter.py +0 -0
  120. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/device_type.py +0 -0
  121. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/map.py +0 -0
  122. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/movement.py +0 -0
  123. {pymammotion-0.2.52 → pymammotion-0.2.53}/pymammotion/utility/periodic.py +0 -0
  124. {pymammotion-0.2.52 → pymammotion-0.2.53}/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.52
3
+ Version: 0.2.53
4
4
  Summary:
5
5
  License: GNU-3.0
6
6
  Author: Michael Arthur
@@ -82,12 +82,10 @@ class HashList(DataClassORJSONMixin):
82
82
  if obj.current_frame == hash_list.current_frame:
83
83
  # Replace the item if current_frame matches
84
84
  self.root_hash_list.data[index] = hash_list
85
- self.update_hash_lists(self.hashlist)
86
85
  return
87
86
 
88
87
  # If no match was found, append the new item
89
88
  self.root_hash_list.data.append(hash_list)
90
- self.update_hash_lists(self.hashlist)
91
89
 
92
90
  def missing_hash_frame(self):
93
91
  return self._find_missing_frames(self.root_hash_list)
@@ -45,16 +45,15 @@ class MammotionMixedDeviceManager:
45
45
  mqtt: MammotionCloud | None = None,
46
46
  preference: ConnectionPreference = ConnectionPreference.BLUETOOTH,
47
47
  ) -> None:
48
- self._mower_state = None
49
48
  self.name = name
50
- self._mowing_state = MowingDevice()
49
+ self._mower_state = MowingDevice()
51
50
  self.add_ble(ble_device)
52
51
  self.add_cloud(cloud_device, mqtt)
53
52
  self.preference = preference
54
53
 
55
54
  @property
56
55
  def mower_state(self):
57
- return self._mowing_state
56
+ return self._mower_state
58
57
 
59
58
  @mower_state.setter
60
59
  def mower_state(self, value: MowingDevice) -> None:
@@ -62,7 +61,7 @@ class MammotionMixedDeviceManager:
62
61
  self._cloud_device.state_manager.set_device(value)
63
62
  if self._ble_device:
64
63
  self._ble_device.state_manager.set_device(value)
65
- self._mowing_state = value
64
+ self._mower_state = value
66
65
 
67
66
  def ble(self) -> MammotionBaseBLEDevice | None:
68
67
  return self._ble_device
@@ -70,6 +69,12 @@ class MammotionMixedDeviceManager:
70
69
  def cloud(self) -> MammotionBaseCloudDevice | None:
71
70
  return self._cloud_device
72
71
 
72
+ def has_queued_commands(self) -> bool:
73
+ if self.has_cloud() and self.preference == ConnectionPreference.WIFI:
74
+ return not self.cloud()._mqtt.command_queue.empty()
75
+ else:
76
+ return False
77
+
73
78
  def add_ble(self, ble_device: BLEDevice) -> None:
74
79
  if ble_device is not None:
75
80
  self._ble_device = MammotionBaseBLEDevice(self.mower_state, ble_device)
@@ -145,7 +150,6 @@ async def create_devices(
145
150
  return mammotion
146
151
 
147
152
 
148
- @cache
149
153
  class Mammotion:
150
154
  """Represents a Mammotion account and its devices."""
151
155
 
@@ -1,10 +1,10 @@
1
1
  [project]
2
2
  name = "pymammotion"
3
- version = "0.2.52"
3
+ version = "0.2.53"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pymammotion"
7
- version = "0.2.52"
7
+ version = "0.2.53"
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.52"
58
+ current_version = "0.2.53"
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