valetudo-map-parser 0.1.10b2__tar.gz → 0.1.10b4__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 (34) hide show
  1. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/PKG-INFO +1 -1
  2. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/shared.py +1 -2
  3. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/hypfer_handler.py +3 -2
  4. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/map_data.py +8 -7
  5. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/pyproject.toml +1 -1
  6. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/LICENSE +0 -0
  7. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/NOTICE.txt +0 -0
  8. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/README.md +0 -0
  9. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/__init__.py +0 -0
  10. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/__init__.py +0 -0
  11. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/async_utils.py +0 -0
  12. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/auto_crop.py +0 -0
  13. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/color_utils.py +0 -0
  14. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/colors.py +0 -0
  15. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/drawable.py +0 -0
  16. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/drawable_elements.py +0 -0
  17. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/enhanced_drawable.py +0 -0
  18. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/FiraSans.ttf +0 -0
  19. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/Inter-VF.ttf +0 -0
  20. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/Lato-Regular.ttf +0 -0
  21. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/MPLUSRegular.ttf +0 -0
  22. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/NotoKufiArabic-VF.ttf +0 -0
  23. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/NotoSansCJKhk-VF.ttf +0 -0
  24. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/fonts/NotoSansKhojki.ttf +0 -0
  25. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/optimized_element_map.py +0 -0
  26. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/rand256_parser.py +0 -0
  27. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/types.py +0 -0
  28. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/config/utils.py +0 -0
  29. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/hypfer_draw.py +0 -0
  30. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/hypfer_rooms_handler.py +0 -0
  31. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/py.typed +0 -0
  32. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/rand256_handler.py +0 -0
  33. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/reimg_draw.py +0 -0
  34. {valetudo_map_parser-0.1.10b2 → valetudo_map_parser-0.1.10b4}/SCR/valetudo_map_parser/rooms_handler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: valetudo-map-parser
3
- Version: 0.1.10b2
3
+ Version: 0.1.10b4
4
4
  Summary: A Python library to parse Valetudo map data returning a PIL Image object.
5
5
  License: Apache-2.0
6
6
  Author: Sandro Cantarella
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Class Camera Shared.
3
3
  Keep the data between the modules.
4
- Version: v0.1.9
4
+ Version: v0.1.10
5
5
  """
6
6
 
7
7
  import asyncio
@@ -82,7 +82,6 @@ class CameraShared:
82
82
  self.user_colors = Colors # User base colors
83
83
  self.rooms_colors = Colors # Rooms colors
84
84
  self.vacuum_battery = 0 # Vacuum battery state
85
- self.vacuum_bat_charged: bool = True # Vacuum charged and ready
86
85
  self.vacuum_connection = None # Vacuum connection state
87
86
  self.vacuum_state = None # Vacuum state
88
87
  self.charger_position = None # Vacuum Charger position
@@ -62,7 +62,7 @@ class HypferMapImageHandler(BaseHandler, AutoCrop):
62
62
  self.img_work_layer = (
63
63
  None # persistent working buffer to avoid per-frame allocations
64
64
  )
65
- self.active_zones = None # vacuum active zones.
65
+ self.active_zones = [] # vacuum active zones.
66
66
  self.svg_wait = False # SVG image creation wait.
67
67
  self.imd = ImDraw(self) # Image Draw class.
68
68
  self.color_grey = (128, 128, 128, 255)
@@ -137,9 +137,10 @@ class HypferMapImageHandler(BaseHandler, AutoCrop):
137
137
 
138
138
  # Get the pixels size and layers from the JSON data
139
139
  pixel_size = int(m_json["pixelSize"])
140
+ self.active_zones = self.json_data.active_zones
140
141
 
141
142
  new_frame_hash = await self.calculate_array_hash(
142
- self.json_data.layers, self.json_data.active_zones
143
+ self.json_data.layers, self.active_zones
143
144
  )
144
145
  if self.frame_number == 0:
145
146
  self.img_hash = new_frame_hash
@@ -217,7 +217,6 @@ class ImageData:
217
217
  """
218
218
  if layer_dict is None:
219
219
  layer_dict = {}
220
- if active_list is None:
221
220
  active_list = []
222
221
 
223
222
  if isinstance(json_obj, dict):
@@ -228,12 +227,12 @@ class ImageData:
228
227
  layer_dict.setdefault(layer_type, []).append(
229
228
  json_obj.get("compressedPixels", [])
230
229
  )
231
- if layer_type == "segment":
232
230
  # Safely extract "active" flag if present and convertible to int
233
- try:
234
- active_list.append(int(meta_data.get("active", 0)))
235
- except (ValueError, TypeError):
236
- pass # skip invalid/missing 'active' values
231
+ if layer_type == "segment":
232
+ try:
233
+ active_list.append(int(meta_data.get("active", 0)))
234
+ except (ValueError, TypeError):
235
+ pass # skip invalid/missing 'active' values
237
236
 
238
237
  # json_obj.items() yields (key, value), so we only want the values
239
238
  for _, value in json_obj.items():
@@ -724,13 +723,15 @@ class HyperMapData:
724
723
  paths = ImageData.find_paths_entities(json_data)
725
724
  image_size = ImageData.get_image_size(json_data)
726
725
  areas = ImageData.find_zone_entities(json_data)
726
+ layers = {}
727
+ active_zones = []
727
728
  # Hypothetical obstacles finder, if you have one
728
729
  obstacles = getattr(ImageData, "find_obstacles_entities", lambda *_: {})(
729
730
  json_data
730
731
  )
731
732
  virtual_walls = ImageData.find_virtual_walls(json_data)
732
733
  pixel_size = int(json_data["pixelSize"])
733
- layers, active_zones = ImageData.find_layers(json_data["layers"], {}, [])
734
+ layers, active_zones = ImageData.find_layers(json_data["layers"], layers, active_zones)
734
735
  entity_dict = ImageData.find_points_entities(json_data)
735
736
 
736
737
  return cls(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "valetudo-map-parser"
3
- version = "0.1.10b2"
3
+ version = "0.1.10b4"
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"