python-roborock 3.10.5__tar.gz → 3.10.7__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 (96) hide show
  1. {python_roborock-3.10.5 → python_roborock-3.10.7}/PKG-INFO +5 -1
  2. {python_roborock-3.10.5 → python_roborock-3.10.7}/README.md +4 -0
  3. {python_roborock-3.10.5 → python_roborock-3.10.7}/pyproject.toml +2 -1
  4. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/containers.py +4 -1
  5. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_a01_apis/roborock_client_a01.py +1 -1
  6. {python_roborock-3.10.5 → python_roborock-3.10.7}/.gitignore +0 -0
  7. {python_roborock-3.10.5 → python_roborock-3.10.7}/LICENSE +0 -0
  8. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/__init__.py +0 -0
  9. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/api.py +0 -0
  10. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/broadcast_protocol.py +0 -0
  11. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/callbacks.py +0 -0
  12. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/cli.py +0 -0
  13. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/cloud_api.py +0 -0
  14. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/command_cache.py +0 -0
  15. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/const.py +0 -0
  16. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/__init__.py +0 -0
  17. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/b01_q10/__init__.py +0 -0
  18. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
  19. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
  20. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/b01_q7/__init__.py +0 -0
  21. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
  22. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
  23. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/code_mappings.py +0 -0
  24. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/dyad/__init__.py +0 -0
  25. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/dyad/dyad_code_mappings.py +0 -0
  26. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/dyad/dyad_containers.py +0 -0
  27. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/v1/__init__.py +0 -0
  28. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/v1/v1_clean_modes.py +0 -0
  29. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/v1/v1_code_mappings.py +0 -0
  30. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/v1/v1_containers.py +0 -0
  31. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/zeo/__init__.py +0 -0
  32. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/zeo/zeo_code_mappings.py +0 -0
  33. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/data/zeo/zeo_containers.py +0 -0
  34. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/device_features.py +0 -0
  35. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/README.md +0 -0
  36. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/__init__.py +0 -0
  37. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/a01_channel.py +0 -0
  38. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/b01_channel.py +0 -0
  39. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/cache.py +0 -0
  40. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/channel.py +0 -0
  41. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/device.py +0 -0
  42. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/device_manager.py +0 -0
  43. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/file_cache.py +0 -0
  44. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/local_channel.py +0 -0
  45. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/mqtt_channel.py +0 -0
  46. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/__init__.py +0 -0
  47. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/a01/__init__.py +0 -0
  48. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/b01/__init__.py +0 -0
  49. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/traits_mixin.py +0 -0
  50. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/__init__.py +0 -0
  51. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/child_lock.py +0 -0
  52. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/clean_summary.py +0 -0
  53. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/command.py +0 -0
  54. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/common.py +0 -0
  55. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/consumeable.py +0 -0
  56. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/device_features.py +0 -0
  57. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
  58. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
  59. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/flow_led_status.py +0 -0
  60. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/home.py +0 -0
  61. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/led_status.py +0 -0
  62. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/map_content.py +0 -0
  63. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/maps.py +0 -0
  64. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/network_info.py +0 -0
  65. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/rooms.py +0 -0
  66. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/routines.py +0 -0
  67. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
  68. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/status.py +0 -0
  69. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
  70. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/volume.py +0 -0
  71. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
  72. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/devices/v1_channel.py +0 -0
  73. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/exceptions.py +0 -0
  74. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/map/__init__.py +0 -0
  75. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/map/map_parser.py +0 -0
  76. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/mqtt/__init__.py +0 -0
  77. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/mqtt/health_manager.py +0 -0
  78. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/mqtt/roborock_session.py +0 -0
  79. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/mqtt/session.py +0 -0
  80. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/protocol.py +0 -0
  81. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/protocols/__init__.py +0 -0
  82. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/protocols/a01_protocol.py +0 -0
  83. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/protocols/b01_protocol.py +0 -0
  84. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/protocols/v1_protocol.py +0 -0
  85. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/py.typed +0 -0
  86. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/roborock_future.py +0 -0
  87. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/roborock_message.py +0 -0
  88. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/roborock_typing.py +0 -0
  89. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/util.py +0 -0
  90. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_1_apis/__init__.py +0 -0
  91. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_1_apis/roborock_client_v1.py +0 -0
  92. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_1_apis/roborock_local_client_v1.py +0 -0
  93. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_1_apis/roborock_mqtt_client_v1.py +0 -0
  94. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_a01_apis/__init__.py +0 -0
  95. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/version_a01_apis/roborock_mqtt_client_a01.py +0 -0
  96. {python_roborock-3.10.5 → python_roborock-3.10.7}/roborock/web_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-roborock
3
- Version: 3.10.5
3
+ Version: 3.10.7
4
4
  Summary: A package to control Roborock vacuums.
5
5
  Project-URL: Repository, https://github.com/humbertogontijo/python-roborock
6
6
  Project-URL: Documentation, https://python-roborock.readthedocs.io/
@@ -35,8 +35,12 @@ Description-Content-Type: text/markdown
35
35
  </a>
36
36
  <img src="https://img.shields.io/pypi/pyversions/python-roborock.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
37
37
  <img src="https://img.shields.io/pypi/l/python-roborock.svg?style=flat-square" alt="License">
38
+ <a href="https://codecov.io/github/Python-roborock/python-roborock" >
39
+ <img src="https://codecov.io/github/Python-roborock/python-roborock/graph/badge.svg?token=KEK4S3FPSZ" alt="Code Coverage"/>
40
+ </a>
38
41
  </p>
39
42
 
43
+
40
44
  Roborock library for online and offline control of your vacuums.
41
45
 
42
46
  ## Installation
@@ -6,8 +6,12 @@
6
6
  </a>
7
7
  <img src="https://img.shields.io/pypi/pyversions/python-roborock.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
8
8
  <img src="https://img.shields.io/pypi/l/python-roborock.svg?style=flat-square" alt="License">
9
+ <a href="https://codecov.io/github/Python-roborock/python-roborock" >
10
+ <img src="https://codecov.io/github/Python-roborock/python-roborock/graph/badge.svg?token=KEK4S3FPSZ" alt="Code Coverage"/>
11
+ </a>
9
12
  </p>
10
13
 
14
+
11
15
  Roborock library for online and offline control of your vacuums.
12
16
 
13
17
  ## Installation
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-roborock"
3
- version = "3.10.5"
3
+ version = "3.10.7"
4
4
  description = "A package to control Roborock vacuums."
5
5
  authors = [{ name = "humbertogontijo", email = "humbertogontijo@users.noreply.github.com" }, {name="Lash-L"}, {name="allenporter"}]
6
6
  requires-python = ">=3.11, <4"
@@ -54,6 +54,7 @@ dev = [
54
54
  "pdoc>=15.0.4,<16",
55
55
  "pyyaml>=6.0.3",
56
56
  "pyshark>=0.6",
57
+ "pytest-cov>=7.0.0",
57
58
  ]
58
59
 
59
60
  [tool.hatch.build.targets.sdist]
@@ -32,7 +32,10 @@ def _decamelize(s: str):
32
32
  s = re.sub(r"(?<=[a-z0-9])([A-Z])", r"_\1", s)
33
33
  s = re.sub(r"([A-Z]+)([A-Z][a-z])", r"\1_\2", s) # Split acronyms followed by normal camelCase
34
34
  s = re.sub(r"([a-zA-Z])([0-9]+)", r"\1_\2", s)
35
- return s.lower()
35
+ s = s.lower()
36
+ # Temporary fix to avoid breaking any serialization.
37
+ s = s.replace("base_64", "base64")
38
+ return s
36
39
 
37
40
 
38
41
  def _attr_repr(obj: Any) -> str:
@@ -145,7 +145,7 @@ class RoborockClientA01(RoborockClient, ABC):
145
145
  continue
146
146
  for data_point_number, data_point in data_points.items():
147
147
  self._logger.debug("received msg with dps, protocol: %s, %s", data_point_number, protocol)
148
- if converted_response := self.value_converter(data_point_number, data_point):
148
+ if (converted_response := self.value_converter(data_point_number, data_point)) is not None:
149
149
  queue = self._waiting_queue.get(int(data_point_number))
150
150
  if queue and queue.protocol == protocol:
151
151
  queue.set_result(converted_response)