diff --git a/SCR/__init__.py b/SCR/__init__.py index ebdf05f..cb5a7a9 100644 --- a/SCR/__init__.py +++ b/SCR/__init__.py @@ -1,2 +1,2 @@ """Valetudo map parser. -Version: 0.1.14""" +Version: 0.2.1""" diff --git a/SCR/valetudo_map_parser/__init__.py b/SCR/valetudo_map_parser/__init__.py index 68ba02c..001835c 100644 --- a/SCR/valetudo_map_parser/__init__.py +++ b/SCR/valetudo_map_parser/__init__.py @@ -1,5 +1,5 @@ """Valetudo map parser. -Version: 0.2.0""" +Version: 0.2.1""" from pathlib import Path diff --git a/SCR/valetudo_map_parser/config/types.py b/SCR/valetudo_map_parser/config/types.py index 72f7456..a202859 100644 --- a/SCR/valetudo_map_parser/config/types.py +++ b/SCR/valetudo_map_parser/config/types.py @@ -327,7 +327,10 @@ def to_dict(self) -> dict: @classmethod def from_list(cls, crop_area: List[int], floor: Optional[str] = None): """ - Initialize TrimsData from a list [trim_up, trim_left, trim_down, trim_right] + Initialize TrimsData from a list [left, up, right, down] (mvcrender crop_area format). + NOTE: This matches the current implementation but needs investigation - mvcrender + documentation states crop_area is [left, up, right, down] but the mapping here + assigns crop_area[0] to trim_up and crop_area[1] to trim_left which seems reversed. """ return cls( trim_up=crop_area[0], @@ -339,7 +342,7 @@ def from_list(cls, crop_area: List[int], floor: Optional[str] = None): def clear(self) -> dict: """Clear all the trims.""" - self.floor = "" + self.floor = "floor_0" self.trim_up = 0 self.trim_left = 0 self.trim_down = 0 diff --git a/SCR/valetudo_map_parser/hypfer_handler.py b/SCR/valetudo_map_parser/hypfer_handler.py index 92a4778..e3a2c3a 100644 --- a/SCR/valetudo_map_parser/hypfer_handler.py +++ b/SCR/valetudo_map_parser/hypfer_handler.py @@ -392,6 +392,8 @@ async def async_get_image_from_json( int(self.shared.image_rotate), self.zooming, ) + # Update shared trims with calculated crop values + self.update_trims() # If the image is None return None and log the error. if img_np_array is None: LOGGER.warning("%s: Image array is None.", self.file_name) diff --git a/SCR/valetudo_map_parser/rand256_handler.py b/SCR/valetudo_map_parser/rand256_handler.py index 933db68..bdc0f38 100644 --- a/SCR/valetudo_map_parser/rand256_handler.py +++ b/SCR/valetudo_map_parser/rand256_handler.py @@ -380,6 +380,8 @@ async def _draw_map_elements( zoom=self.zooming, rand256=True, ) + # Update shared trims with calculated crop values + self.update_trims() return img_np_array async def _finalize_image(self, pil_img): diff --git a/pyproject.toml b/pyproject.toml index 3a3c88d..7adc95a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "valetudo-map-parser" -version = "0.2.0" +version = "0.2.1" description = "A Python library to parse Valetudo map data returning a PIL Image object." authors = ["Sandro Cantarella "] license = "Apache-2.0" @@ -18,7 +18,7 @@ python = ">=3.13" numpy = ">=1.26.4" Pillow = ">=10.3.0" scipy = ">=1.12.0" -mvcrender = "==0.0.7" +mvcrender = "==0.0.8" [tool.poetry.group.dev.dependencies] ruff = "*"