From 7485a8e1672be6f6da95f2dd7bd7bc850667c5f3 Mon Sep 17 00:00:00 2001 From: domfournier Date: Fri, 19 Jun 2026 14:59:15 -0700 Subject: [PATCH 1/4] Check for value before setting to None --- grid_apps/octree_creation/options.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/grid_apps/octree_creation/options.py b/grid_apps/octree_creation/options.py index a3f27db..6fc6ef5 100644 --- a/grid_apps/octree_creation/options.py +++ b/grid_apps/octree_creation/options.py @@ -196,9 +196,12 @@ def collect_refinements_from_dict(data: dict) -> list[dict | None]: for param in ["object", "levels", "horizon", "distance"]: name = f"refinement_{param}" if param == "object" else param refinement_name = f"Refinement {identifier} {param}" - refinement_params[name] = data.get(refinement_name, None) + value = data.get(refinement_name, None) - if refinement_params["refinement_object"] is None: + if value is not None: + refinement_params[name] = valueenv + + if refinement_params.get("refinement_object", None) is None: refinements.append(None) else: refinements.append(refinement_params) From 1940b46fa006eb7909551d1833d9773ebe6b8d1f Mon Sep 17 00:00:00 2001 From: domfournier Date: Fri, 19 Jun 2026 14:59:25 -0700 Subject: [PATCH 2/4] Add unit test --- .../run_tests/octree_creation/params_test.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/run_tests/octree_creation/params_test.py b/tests/run_tests/octree_creation/params_test.py index 3c473d6..04f949a 100644 --- a/tests/run_tests/octree_creation/params_test.py +++ b/tests/run_tests/octree_creation/params_test.py @@ -12,7 +12,7 @@ from geoh5py import Workspace from geoh5py.groups import UIJsonGroup from geoh5py.objects import Points -from geoh5py.ui_json import InputFile +from geoh5py.ui_json import InputFile, BaseUIJson from grid_apps import assets_path from grid_apps.octree_creation.driver import OctreeDriver @@ -139,3 +139,20 @@ def test_treemesh_from_params(tmp_path): assert mesh.u_cell_size == 25.0 assert mesh.v_cell_size == 25.0 assert mesh.w_cell_size == 25.0 + + +def test_params_from_uijson(tmp_path): + + uijson = BaseUIJson.read(OctreeOptions.default_ui_json) + + with Workspace.create(tmp_path / f"{__name__}.geoh5") as ws: + points = Points.create(ws, name="test", vertices=np.random.rand(100, 3)) + + kwargs = { + "geoh5": ws, + "objects": points, + "Refinement A object": points, + } + uijson.set_values(**kwargs) + params = OctreeOptions.build(**uijson.to_params(workspace=ws)) + assert params.refinements is not None From 50eb00a2feccc1048baa7a8b7fd4a83e9e059b05 Mon Sep 17 00:00:00 2001 From: domfournier Date: Fri, 19 Jun 2026 15:03:56 -0700 Subject: [PATCH 3/4] [GEOPY-2919] Add conda_env_pylint to ignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 2e07c0b..e993a20 100644 --- a/.gitignore +++ b/.gitignore @@ -149,3 +149,5 @@ pyproject-sha.toml #version ignore grid_apps/_version.py /_version.json + +devtools/conda_env_pylint.bat From d0713b54a216a8d1885cae81f82a621c6dcf9e38 Mon Sep 17 00:00:00 2001 From: domfournier Date: Fri, 19 Jun 2026 15:04:54 -0700 Subject: [PATCH 4/4] [GEOPY-2919] Fix linters --- grid_apps/octree_creation/options.py | 2 +- tests/run_tests/octree_creation/params_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/grid_apps/octree_creation/options.py b/grid_apps/octree_creation/options.py index 6fc6ef5..b568323 100644 --- a/grid_apps/octree_creation/options.py +++ b/grid_apps/octree_creation/options.py @@ -199,7 +199,7 @@ def collect_refinements_from_dict(data: dict) -> list[dict | None]: value = data.get(refinement_name, None) if value is not None: - refinement_params[name] = valueenv + refinement_params[name] = value if refinement_params.get("refinement_object", None) is None: refinements.append(None) diff --git a/tests/run_tests/octree_creation/params_test.py b/tests/run_tests/octree_creation/params_test.py index 04f949a..37c0689 100644 --- a/tests/run_tests/octree_creation/params_test.py +++ b/tests/run_tests/octree_creation/params_test.py @@ -12,7 +12,7 @@ from geoh5py import Workspace from geoh5py.groups import UIJsonGroup from geoh5py.objects import Points -from geoh5py.ui_json import InputFile, BaseUIJson +from geoh5py.ui_json import BaseUIJson, InputFile from grid_apps import assets_path from grid_apps.octree_creation.driver import OctreeDriver