valetudo-map-parser 0.1.11b1__tar.gz → 0.1.11b2__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 (32) hide show
  1. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/PKG-INFO +1 -1
  2. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/shared.py +20 -4
  3. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/utils.py +1 -3
  4. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/pyproject.toml +1 -1
  5. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/LICENSE +0 -0
  6. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/NOTICE.txt +0 -0
  7. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/README.md +0 -0
  8. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/__init__.py +0 -0
  9. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/__init__.py +0 -0
  10. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/async_utils.py +0 -0
  11. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/colors.py +0 -0
  12. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/drawable.py +0 -0
  13. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/drawable_elements.py +0 -0
  14. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/FiraSans.ttf +0 -0
  15. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/Inter-VF.ttf +0 -0
  16. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/Lato-Regular.ttf +0 -0
  17. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/MPLUSRegular.ttf +0 -0
  18. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/NotoKufiArabic-VF.ttf +0 -0
  19. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/NotoSansCJKhk-VF.ttf +0 -0
  20. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/NotoSansKhojki.ttf +0 -0
  21. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/optimized_element_map.py +0 -0
  22. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/rand256_parser.py +0 -0
  23. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/status_text/status_text.py +0 -0
  24. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/status_text/translations.py +0 -0
  25. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/types.py +0 -0
  26. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/hypfer_draw.py +0 -0
  27. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/hypfer_handler.py +0 -0
  28. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/map_data.py +0 -0
  29. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/py.typed +0 -0
  30. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/rand256_handler.py +0 -0
  31. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/reimg_draw.py +0 -0
  32. {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/rooms_handler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: valetudo-map-parser
3
- Version: 0.1.11b1
3
+ Version: 0.1.11b2
4
4
  Summary: A Python library to parse Valetudo map data returning a PIL Image object.
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -40,6 +40,7 @@ from .types import (
40
40
  CONF_VAC_STAT_SIZE,
41
41
  CONF_ZOOM_LOCK_RATIO,
42
42
  DEFAULT_VALUES,
43
+ NOT_STREAMING_STATES,
43
44
  CameraModes,
44
45
  Colors,
45
46
  PilPNG,
@@ -119,10 +120,17 @@ class CameraShared:
119
120
  self.trims = TrimsData.from_dict(DEFAULT_VALUES["trims_data"])
120
121
  self.skip_room_ids: List[str] = []
121
122
  self.device_info = None
123
+ self._battery_state = None
122
124
 
123
125
  def vacuum_bat_charged(self) -> bool:
124
126
  """Check if the vacuum is charging."""
125
- return (self.vacuum_state == "docked") and (int(self.vacuum_battery) < 100)
127
+ if self.vacuum_state != "docked":
128
+ self._battery_state = "not_charging"
129
+ elif (self._battery_state == "charging_done") and (int(self.vacuum_battery) == 100):
130
+ self._battery_state = "charged"
131
+ else:
132
+ self._battery_state = "charging" if int(self.vacuum_battery) < 100 else "charging_done"
133
+ return (self.vacuum_state == "docked") and (self._battery_state == "charging")
126
134
 
127
135
  @staticmethod
128
136
  def _compose_obstacle_links(vacuum_host_ip: str, obstacles: list) -> list | None:
@@ -209,17 +217,25 @@ class CameraShared:
209
217
 
210
218
  return attrs
211
219
 
220
+ def is_streaming(self) -> bool:
221
+ """Return true if the device is streaming."""
222
+ updated_status = self.vacuum_state
223
+ attr_is_streaming = ((updated_status not in NOT_STREAMING_STATES
224
+ or self.vacuum_bat_charged())
225
+ or not self.binary_image)
226
+ return attr_is_streaming
227
+
212
228
  def to_dict(self) -> dict:
213
229
  """Return a dictionary with image and attributes data."""
214
-
215
- return {
230
+ data = {
216
231
  "image": {
217
232
  "binary": self.binary_image,
218
- "pil_image": self.new_image,
219
233
  "size": pil_size_rotation(self.image_rotate, self.new_image),
234
+ "streaming": self.is_streaming()
220
235
  },
221
236
  "attributes": self.generate_attributes(),
222
237
  }
238
+ return data
223
239
 
224
240
 
225
241
  class CameraSharedManager:
@@ -177,13 +177,11 @@ class BaseHandler:
177
177
  LOGGER.warning(
178
178
  "%s: Failed to generate image from JSON data", self.file_name
179
179
  )
180
- if bytes_format and hasattr(self.shared, "last_image"):
181
- return pil_to_png_bytes(self.shared.last_image), {}
182
180
  return (
183
181
  self.shared.last_image
184
182
  if hasattr(self.shared, "last_image")
185
183
  else None
186
- ), {}
184
+ ), self.shared.to_dict()
187
185
 
188
186
  except Exception as e:
189
187
  LOGGER.warning(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "valetudo-map-parser"
3
- version = "0.1.11b1"
3
+ version = "0.1.11b2"
4
4
  description = "A Python library to parse Valetudo map data returning a PIL Image object."
5
5
  authors = ["Sandro Cantarella <gsca075@gmail.com>"]
6
6
  license = "Apache-2.0"