python-roborock 2.12.0__tar.gz → 2.12.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.
Files changed (28) hide show
  1. {python_roborock-2.12.0 → python_roborock-2.12.2}/PKG-INFO +1 -1
  2. {python_roborock-2.12.0 → python_roborock-2.12.2}/pyproject.toml +1 -1
  3. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/code_mappings.py +1 -0
  4. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/exceptions.py +4 -0
  5. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/roborock_typing.py +5 -1
  6. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_1_apis/roborock_client_v1.py +1 -0
  7. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/web_api.py +3 -0
  8. {python_roborock-2.12.0 → python_roborock-2.12.2}/LICENSE +0 -0
  9. {python_roborock-2.12.0 → python_roborock-2.12.2}/README.md +0 -0
  10. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/__init__.py +0 -0
  11. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/api.py +0 -0
  12. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/cli.py +0 -0
  13. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/cloud_api.py +0 -0
  14. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/command_cache.py +0 -0
  15. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/const.py +0 -0
  16. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/containers.py +0 -0
  17. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/local_api.py +0 -0
  18. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/protocol.py +0 -0
  19. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/py.typed +0 -0
  20. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/roborock_future.py +0 -0
  21. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/roborock_message.py +0 -0
  22. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/util.py +0 -0
  23. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_1_apis/__init__.py +0 -0
  24. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_1_apis/roborock_local_client_v1.py +0 -0
  25. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_1_apis/roborock_mqtt_client_v1.py +0 -0
  26. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_a01_apis/__init__.py +0 -0
  27. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_a01_apis/roborock_client_a01.py +0 -0
  28. {python_roborock-2.12.0 → python_roborock-2.12.2}/roborock/version_a01_apis/roborock_mqtt_client_a01.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-roborock
3
- Version: 2.12.0
3
+ Version: 2.12.2
4
4
  Summary: A package to control Roborock vacuums.
5
5
  Home-page: https://github.com/humbertogontijo/python-roborock
6
6
  License: GPL-3.0-only
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "python-roborock"
3
- version = "2.12.0"
3
+ version = "2.12.2"
4
4
  description = "A package to control Roborock vacuums."
5
5
  authors = ["humbertogontijo <humbertogontijo@users.noreply.github.com>"]
6
6
  license = "GPL-3.0-only"
@@ -461,6 +461,7 @@ class RoborockDockTypeCode(RoborockEnum):
461
461
  s8_maxv_ultra_dock = 10
462
462
  qrevo_master_dock = 14
463
463
  qrevo_s_dock = 15
464
+ saros_r10_dock = 16
464
465
  qrevo_curv_dock = 17
465
466
 
466
467
 
@@ -68,3 +68,7 @@ class RoborockTooFrequentCodeRequests(RoborockException):
68
68
 
69
69
  class RoborockMissingParameters(RoborockException):
70
70
  """Class for Roborock missing parameters exceptions."""
71
+
72
+
73
+ class RoborockTooManyRequest(RoborockException):
74
+ """Class for Roborock too many request exceptions."""
@@ -464,7 +464,11 @@ class DeviceProp(RoborockBase):
464
464
  dust_collection_mode_name: str | None = None
465
465
 
466
466
  def __post_init__(self) -> None:
467
- if self.dock_summary and self.dock_summary.dust_collection_mode and self.dock_summary.dust_collection_mode.mode:
467
+ if (
468
+ self.dock_summary
469
+ and self.dock_summary.dust_collection_mode is not None
470
+ and self.dock_summary.dust_collection_mode.mode is not None
471
+ ):
468
472
  self.dust_collection_mode_name = self.dock_summary.dust_collection_mode.mode.name
469
473
 
470
474
  def update(self, device_prop: DeviceProp) -> None:
@@ -72,6 +72,7 @@ WASH_N_FILL_DOCK = [
72
72
  RoborockDockTypeCode.p10_pro_dock,
73
73
  RoborockDockTypeCode.s8_maxv_ultra_dock,
74
74
  RoborockDockTypeCode.qrevo_s_dock,
75
+ RoborockDockTypeCode.saros_r10_dock,
75
76
  RoborockDockTypeCode.qrevo_curv_dock,
76
77
  ]
77
78
  RT = TypeVar("RT", bound=RoborockBase)
@@ -22,6 +22,7 @@ from roborock.exceptions import (
22
22
  RoborockMissingParameters,
23
23
  RoborockNoUserAgreement,
24
24
  RoborockTooFrequentCodeRequests,
25
+ RoborockTooManyRequest,
25
26
  RoborockUrlException,
26
27
  )
27
28
 
@@ -54,6 +55,8 @@ class RoborockApiClient:
54
55
  raise RoborockMissingParameters(
55
56
  "You are missing parameters for this request, are you sure you " "entered your username?"
56
57
  )
58
+ elif response_code == 9002:
59
+ raise RoborockTooManyRequest("Please temporarily disable making requests and try again later.")
57
60
  raise RoborockUrlException(f"error code: {response_code} msg: {response.get('error')}")
58
61
  response_data = response.get("data")
59
62
  if response_data is None: