valetudo-map-parser 0.1.9b24__tar.gz → 0.1.9b26__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.9b24 → valetudo_map_parser-0.1.9b26}/PKG-INFO +1 -1
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/auto_crop.py +3 -3
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/shared.py +5 -29
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/types.py +32 -8
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/hypfer_handler.py +6 -13
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/rand25_handler.py +5 -13
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/pyproject.toml +1 -1
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/LICENSE +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/NOTICE.txt +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/README.md +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/__init__.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/__init__.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/colors.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/drawable.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/rand25_parser.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/config/utils.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/hypfer_draw.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/map_data.py +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/py.typed +0 -0
- {valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/reimg_draw.py +0 -0
@@ -8,7 +8,7 @@ import logging
|
|
8
8
|
import numpy as np
|
9
9
|
from numpy import rot90
|
10
10
|
|
11
|
-
from .types import Color, NumpyArray, TrimCropData
|
11
|
+
from .types import Color, NumpyArray, TrimCropData, TrimsData
|
12
12
|
|
13
13
|
|
14
14
|
_LOGGER = logging.getLogger(__name__)
|
@@ -68,10 +68,10 @@ class AutoCrop:
|
|
68
68
|
)
|
69
69
|
return trimmed_width, trimmed_height
|
70
70
|
|
71
|
-
async def _async_auto_crop_data(self, tdata=None): # , tdata=None
|
71
|
+
async def _async_auto_crop_data(self, tdata: TrimsData = None): # , tdata=None
|
72
72
|
"""Load the auto crop data from the Camera config."""
|
73
73
|
if not self.imh.auto_crop:
|
74
|
-
trims_data = TrimCropData.from_dict(dict(tdata)).to_list()
|
74
|
+
trims_data = TrimCropData.from_dict(dict(tdata.to_dict())).to_list()
|
75
75
|
(
|
76
76
|
self.imh.trim_left,
|
77
77
|
self.imh.trim_up,
|
@@ -6,7 +6,7 @@ Version: v2024.12.0
|
|
6
6
|
|
7
7
|
import asyncio
|
8
8
|
import logging
|
9
|
-
from typing import
|
9
|
+
from typing import List
|
10
10
|
|
11
11
|
from .types import (
|
12
12
|
ATTR_CALIBRATION_POINTS,
|
@@ -104,22 +104,9 @@ class CameraShared:
|
|
104
104
|
self.map_old_path = None # Old path data
|
105
105
|
self.user_language = None # User language
|
106
106
|
self.trim_crop_data = None
|
107
|
-
self.trims
|
108
|
-
TrimsData.TRIM_LEFT: 0,
|
109
|
-
TrimsData.TRIM_UP: 0,
|
110
|
-
TrimsData.TRIM_RIGHT: 0,
|
111
|
-
TrimsData.TRIM_DOWN: 0,
|
112
|
-
}
|
107
|
+
self.trims = TrimsData.from_dict(DEFAULT_VALUES["trims_data"]) # Trims data
|
113
108
|
self.skip_room_ids: List[str] = []
|
114
109
|
|
115
|
-
def get_trims_dictionary(self):
|
116
|
-
return {
|
117
|
-
"trim_left": self.trims.get(TrimsData.TRIM_LEFT, 0),
|
118
|
-
"trim_up": self.trims.get(TrimsData.TRIM_UP, 0),
|
119
|
-
"trim_right": self.trims.get(TrimsData.TRIM_RIGHT, 0),
|
120
|
-
"trim_down": self.trims.get(TrimsData.TRIM_DOWN, 0),
|
121
|
-
}
|
122
|
-
|
123
110
|
def update_user_colors(self, user_colors):
|
124
111
|
"""Update the user colors."""
|
125
112
|
self.user_colors = user_colors
|
@@ -240,20 +227,9 @@ class CameraSharedManager:
|
|
240
227
|
instance.enable_snapshots = device_info.get(
|
241
228
|
CONF_SNAPSHOTS_ENABLE, DEFAULT_VALUES["enable_www_snapshots"]
|
242
229
|
)
|
243
|
-
instance.trims
|
244
|
-
|
245
|
-
|
246
|
-
).get("trim_left", 0),
|
247
|
-
TrimsData.TRIM_UP: device_info.get(
|
248
|
-
"trims_data", DEFAULT_VALUES["trims_data"]
|
249
|
-
).get("trim_up", 0),
|
250
|
-
TrimsData.TRIM_RIGHT: device_info.get(
|
251
|
-
"trims_data", DEFAULT_VALUES["trims_data"]
|
252
|
-
).get("trim_right", 0),
|
253
|
-
TrimsData.TRIM_DOWN: device_info.get(
|
254
|
-
"trims_data", DEFAULT_VALUES["trims_data"]
|
255
|
-
).get("trim_down", 0),
|
256
|
-
}
|
230
|
+
instance.trims.from_dict(
|
231
|
+
device_info.get("trims_data", DEFAULT_VALUES["trims_data"])
|
232
|
+
)
|
257
233
|
|
258
234
|
except TypeError as ex:
|
259
235
|
_LOGGER.error("Shared data can't be initialized due to a TypeError! %s", ex)
|
@@ -6,8 +6,7 @@ Version 0.0.1
|
|
6
6
|
import asyncio
|
7
7
|
import json
|
8
8
|
import logging
|
9
|
-
from dataclasses import dataclass
|
10
|
-
from enum import Enum
|
9
|
+
from dataclasses import dataclass, asdict
|
11
10
|
from typing import Any, Dict, Tuple, Union
|
12
11
|
|
13
12
|
import numpy as np
|
@@ -593,10 +592,35 @@ class CameraModes:
|
|
593
592
|
CAMERA_ON = True
|
594
593
|
|
595
594
|
|
596
|
-
|
597
|
-
|
595
|
+
@dataclass
|
596
|
+
class TrimsData:
|
597
|
+
"""Dataclass to store and manage trims data."""
|
598
|
+
|
599
|
+
trim_left: int = 0
|
600
|
+
trim_up: int = 0
|
601
|
+
trim_right: int = 0
|
602
|
+
trim_down: int = 0
|
603
|
+
|
604
|
+
@classmethod
|
605
|
+
def from_json(cls, json_data: str):
|
606
|
+
"""Create a TrimsConfig instance from a JSON string."""
|
607
|
+
data = json.loads(json_data)
|
608
|
+
return cls(
|
609
|
+
trim_left=data.get("trim_left", 0),
|
610
|
+
trim_up=data.get("trim_up", 0),
|
611
|
+
trim_right=data.get("trim_right", 0),
|
612
|
+
trim_down=data.get("trim_down", 0),
|
613
|
+
)
|
598
614
|
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
615
|
+
def to_json(self) -> str:
|
616
|
+
"""Convert TrimsConfig instance to a JSON string."""
|
617
|
+
return json.dumps(asdict(self))
|
618
|
+
|
619
|
+
@classmethod
|
620
|
+
def from_dict(cls, data: dict):
|
621
|
+
"""Initialize TrimData from a dictionary."""
|
622
|
+
return cls(**data)
|
623
|
+
|
624
|
+
def to_dict(self) -> dict:
|
625
|
+
"""Convert TrimData to a dictionary."""
|
626
|
+
return asdict(self)
|
@@ -15,7 +15,7 @@ from PIL import Image
|
|
15
15
|
from .config.auto_crop import AutoCrop
|
16
16
|
from .config.drawable import Drawable
|
17
17
|
from .config.shared import CameraShared
|
18
|
-
from .config.types import COLORS, CalibrationPoints, Colors, RoomsProperties
|
18
|
+
from .config.types import COLORS, CalibrationPoints, Colors, RoomsProperties
|
19
19
|
from .config.utils import BaseHandler, prepare_resize_params
|
20
20
|
from .hypfer_draw import ImageDraw as ImDraw
|
21
21
|
from .map_data import ImageData
|
@@ -42,18 +42,11 @@ class HypferMapImageHandler(BaseHandler):
|
|
42
42
|
self.img_base_layer = None # numpy array store the map base layer.
|
43
43
|
self.active_zones = None # vacuum active zones.
|
44
44
|
self.svg_wait = False # SVG image creation wait.
|
45
|
-
|
46
|
-
|
47
|
-
) #
|
48
|
-
self.
|
49
|
-
|
50
|
-
) # memory stored trims calculated once.
|
51
|
-
self.trim_left = self.shared.trims.get(
|
52
|
-
TrimsData.TRIM_LEFT, 0
|
53
|
-
) # memory stored trims calculated once.
|
54
|
-
self.trim_right = self.shared.trims.get(
|
55
|
-
TrimsData.TRIM_RIGHT, 0
|
56
|
-
) # memory stored trims calculated once.
|
45
|
+
trim_data = self.shared.trims.to_dict() # trims data
|
46
|
+
self.trim_up = trim_data.get("trim_up", 0) # trim up
|
47
|
+
self.trim_down = trim_data.get("trim_down", 0) # trim down
|
48
|
+
self.trim_left = trim_data.get("trim_left", 0) # trim left
|
49
|
+
self.trim_right = trim_data.get("trim_right", 0) # trim right
|
57
50
|
self.offset_top = self.shared.offset_top # offset top
|
58
51
|
self.offset_bottom = self.shared.offset_down # offset bottom
|
59
52
|
self.offset_left = self.shared.offset_left # offset left
|
@@ -23,7 +23,6 @@ from .config.types import (
|
|
23
23
|
PilPNG,
|
24
24
|
RobotPosition,
|
25
25
|
RoomsProperties,
|
26
|
-
TrimsData,
|
27
26
|
)
|
28
27
|
from .config.utils import BaseHandler, prepare_resize_params
|
29
28
|
from .map_data import RandImageData
|
@@ -53,18 +52,11 @@ class ReImageHandler(BaseHandler):
|
|
53
52
|
self.room_propriety = None # Room propriety data
|
54
53
|
self.shared = camera_shared # Shared data
|
55
54
|
self.active_zones = None # Active zones
|
56
|
-
|
57
|
-
|
58
|
-
) #
|
59
|
-
self.
|
60
|
-
|
61
|
-
) # memory stored trims calculated once.
|
62
|
-
self.trim_left = self.shared.trims.get(
|
63
|
-
TrimsData.TRIM_LEFT, 0
|
64
|
-
) # memory stored trims calculated once.
|
65
|
-
self.trim_right = self.shared.trims.get(
|
66
|
-
TrimsData.TRIM_RIGHT, 0
|
67
|
-
) # memory stored trims calculated once.
|
55
|
+
trim_data = self.shared.trims.to_dict() # trims data
|
56
|
+
self.trim_up = trim_data.get("trim_up", 0) # trim up
|
57
|
+
self.trim_down = trim_data.get("trim_down", 0) # trim down
|
58
|
+
self.trim_left = trim_data.get("trim_left", 0) # trim left
|
59
|
+
self.trim_right = trim_data.get("trim_right", 0) # trim right
|
68
60
|
self.file_name = self.shared.file_name # File name
|
69
61
|
self.offset_top = self.shared.offset_top # offset top
|
70
62
|
self.offset_bottom = self.shared.offset_down # offset bottom
|
File without changes
|
File without changes
|
File without changes
|
{valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/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
|
{valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/hypfer_draw.py
RENAMED
File without changes
|
{valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/map_data.py
RENAMED
File without changes
|
{valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/py.typed
RENAMED
File without changes
|
{valetudo_map_parser-0.1.9b24 → valetudo_map_parser-0.1.9b26}/SCR/valetudo_map_parser/reimg_draw.py
RENAMED
File without changes
|