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.
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/PKG-INFO +1 -1
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/shared.py +20 -4
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/utils.py +1 -3
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/pyproject.toml +1 -1
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/LICENSE +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/NOTICE.txt +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/README.md +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/__init__.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/__init__.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/async_utils.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/colors.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/drawable.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/drawable_elements.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/FiraSans.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/Inter-VF.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/Lato-Regular.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/MPLUSRegular.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/NotoKufiArabic-VF.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/NotoSansCJKhk-VF.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/fonts/NotoSansKhojki.ttf +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/optimized_element_map.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/rand256_parser.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/status_text/status_text.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/status_text/translations.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/config/types.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/hypfer_draw.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/hypfer_handler.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/map_data.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/py.typed +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/rand256_handler.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/reimg_draw.py +0 -0
- {valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/rooms_handler.py +0 -0
@@ -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
|
-
|
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(
|
File without changes
|
File without changes
|
File without changes
|
{valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/hypfer_draw.py
RENAMED
File without changes
|
File without changes
|
{valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/map_data.py
RENAMED
File without changes
|
{valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/py.typed
RENAMED
File without changes
|
File without changes
|
{valetudo_map_parser-0.1.11b1 → valetudo_map_parser-0.1.11b2}/SCR/valetudo_map_parser/reimg_draw.py
RENAMED
File without changes
|
File without changes
|