From 263faed92653d8d56704cec536ea4cc323ee921f Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Mon, 4 Aug 2025 16:10:21 +0200 Subject: [PATCH 01/15] fix(is_loadable): requirements updated --- requirements.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/requirements.txt b/requirements.txt index 75eff9e7..3874d3be 100644 --- a/requirements.txt +++ b/requirements.txt @@ -41,7 +41,7 @@ geode-explicit==6.3.0 # via # -r requirements.in # geode-implicit -geode-implicit==4.1.1 +geode-implicit==4.1.2 # via -r requirements.in geode-numerics==6.3.0 # via @@ -63,7 +63,7 @@ markupsafe==3.0.2 # flask # jinja2 # werkzeug -opengeode-core==15.24.1 +opengeode-core==15.24.2 # via # -r requirements.in # geode-background @@ -78,23 +78,23 @@ opengeode-core==15.24.1 # opengeode-geosciencesio # opengeode-inspector # opengeode-io -opengeode-geosciences==9.2.1 +opengeode-geosciences==9.2.2 # via # -r requirements.in # geode-implicit # geode-viewables # opengeode-geosciencesio -opengeode-geosciencesio==5.7.1 +opengeode-geosciencesio==5.7.2 # via # -r requirements.in # geode-implicit -opengeode-inspector==6.7.0 +opengeode-inspector==6.7.1 # via # -r requirements.in # geode-explicit # geode-implicit # geode-simplex -opengeode-io==7.3.1 +opengeode-io==7.3.2 # via # -r requirements.in # geode-implicit From 6ba9f31de99279de737fdcd03f7760f962d9758a Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Mon, 4 Aug 2025 16:38:57 +0200 Subject: [PATCH 02/15] fix(is_loadable): adapt is_loadable to return a Percentage instead of bool --- src/opengeodeweb_back/geode_functions.py | 11 +++++++---- tests/test_geode_functions.py | 6 ++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/opengeodeweb_back/geode_functions.py b/src/opengeodeweb_back/geode_functions.py index 8d704895..0bfe9274 100644 --- a/src/opengeodeweb_back/geode_functions.py +++ b/src/opengeodeweb_back/geode_functions.py @@ -32,8 +32,9 @@ def additional_files(geode_object: str, file_absolute_path: str): return geode_object_value(geode_object)["additional_files"](file_absolute_path) -def is_loadable(geode_object: str, file_absolute_path: str): - return geode_object_value(geode_object)["is_loadable"](file_absolute_path) +def is_loadable(geode_object: str, file_absolute_path: str) -> float: + percentage = geode_object_value(geode_object)["is_loadable"](file_absolute_path) + return percentage.value() def load(geode_object: str, file_absolute_path: str): @@ -183,8 +184,10 @@ def list_geode_objects( for geode_object in geode_objects_filtered_list: if has_creator(geode_object, file_extension): - file_is_loadable = is_loadable(geode_object, file_absolute_path) - return_dict[geode_object] = {"is_loadable": file_is_loadable} + loadability_score = is_loadable(geode_object, file_absolute_path) + return_dict[geode_object] = { + "is_loadable": loadability_score + } return return_dict diff --git a/tests/test_geode_functions.py b/tests/test_geode_functions.py index 2463f74e..8e8af51d 100644 --- a/tests/test_geode_functions.py +++ b/tests/test_geode_functions.py @@ -63,7 +63,8 @@ def test_is_loadable(): for input_extension in input_extensions: file_absolute_path = os.path.join(data_folder, f"test.{input_extension}") is_loadable = geode_functions.is_loadable(geode_object, file_absolute_path) - assert type(is_loadable) is bool + assert isinstance(is_loadable, float) + assert 0.0 <= is_loadable <= 1.0 def test_load(): @@ -296,7 +297,8 @@ def test_list_geode_objects(): input_extension, input_extension_value, ) in input_extension_dict.items(): - assert type(input_extension_value) is bool + assert isinstance(input_extension_value, float) + assert 0.0 <= input_extension_value <= 1.0 def test_geode_objects_output_extensions(): From 30a18295c0531c94f326a653c9a4c0ec01e7619a Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Mon, 4 Aug 2025 14:49:58 +0000 Subject: [PATCH 03/15] Apply prepare changes --- requirements.txt | 49 ++++-------------------- src/opengeodeweb_back/geode_functions.py | 4 +- 2 files changed, 9 insertions(+), 44 deletions(-) diff --git a/requirements.txt b/requirements.txt index daf6ee75..7b5af813 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,34 +20,7 @@ flask[async]==3.0.3 flask-cors==6.0.1 # via -r requirements.in geode-common==33.9.0 - # via - # -r requirements.in - # geode-background - # geode-conversion - # geode-explicit - # geode-implicit - # geode-numerics - # geode-simplex - # geode-viewables -geode-conversion==6.4.0 - # via - # geode-explicit - # geode-implicit -geode-explicit==6.3.0 - # via - # -r requirements.in - # geode-implicit -geode-implicit==4.1.2 - # via -r requirements.in -geode-numerics==6.3.0 - # via - # -r requirements.in - # geode-implicit - # geode-simplex -geode-simplex==9.6.0 - # via - # -r requirements.in - # geode-implicit + # via geode-viewables geode-viewables==3.2.0 # via -r requirements.in itsdangerous==2.2.0 @@ -58,7 +31,7 @@ markupsafe==3.0.2 # via # jinja2 # werkzeug -opengeode-core==15.24.2 +opengeode-core==15.24.1 # via # -r requirements.in # geode-common @@ -67,22 +40,16 @@ opengeode-core==15.24.2 # opengeode-geosciencesio # opengeode-inspector # opengeode-io -opengeode-geosciences==9.2.2 +opengeode-geosciences==9.2.1 # via # -r requirements.in # geode-viewables # opengeode-geosciencesio -opengeode-geosciencesio==5.7.2 - # via - # -r requirements.in - # geode-implicit -opengeode-inspector==6.7.1 - # via - # -r requirements.in - # geode-explicit - # geode-implicit - # geode-simplex -opengeode-io==7.3.2 +opengeode-geosciencesio==5.7.1 + # via -r requirements.in +opengeode-inspector==6.7.0 + # via -r requirements.in +opengeode-io==7.3.1 # via # -r requirements.in # geode-viewables diff --git a/src/opengeodeweb_back/geode_functions.py b/src/opengeodeweb_back/geode_functions.py index 0bfe9274..68115f62 100644 --- a/src/opengeodeweb_back/geode_functions.py +++ b/src/opengeodeweb_back/geode_functions.py @@ -185,9 +185,7 @@ def list_geode_objects( for geode_object in geode_objects_filtered_list: if has_creator(geode_object, file_extension): loadability_score = is_loadable(geode_object, file_absolute_path) - return_dict[geode_object] = { - "is_loadable": loadability_score - } + return_dict[geode_object] = {"is_loadable": loadability_score} return return_dict From 8df3538aba09546296bb6fc9d63000fdf5475554 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Mon, 4 Aug 2025 16:59:58 +0200 Subject: [PATCH 04/15] OpenGeode-core==15.24.2 --- requirements.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.in b/requirements.in index a9f7d46d..2765b638 100644 --- a/requirements.in +++ b/requirements.in @@ -1,4 +1,4 @@ -OpenGeode-core +OpenGeode-core==15.24.2 OpenGeode-IO OpenGeode-Inspector OpenGeode-Geosciences From 5b5da5f5c2c58f47acf9cc5cba0d44194d1062a9 Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:02:06 +0000 Subject: [PATCH 05/15] Apply prepare changes --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5123d179..bb5da705 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile +# pip-compile --pre requirements.in # asgiref==3.9.1 # via flask From 2433aa6233ece178f23c8b4536e65edcee3c835d Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 09:20:31 +0200 Subject: [PATCH 06/15] trigger From 81269ef4bfab871da073e62aed2ff74e2aec544f Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 09:22:45 +0200 Subject: [PATCH 07/15] again From c88e578eefc23b9b61ad806d53bfac88d481c507 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 09:27:27 +0200 Subject: [PATCH 08/15] again trigger From 6f96ff1b7b10f4bb6b820e28adffccfb87e24d14 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 09:30:38 +0200 Subject: [PATCH 09/15] test bool --- tests/test_geode_functions.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_geode_functions.py b/tests/test_geode_functions.py index 8e8af51d..8c49c845 100644 --- a/tests/test_geode_functions.py +++ b/tests/test_geode_functions.py @@ -63,6 +63,7 @@ def test_is_loadable(): for input_extension in input_extensions: file_absolute_path = os.path.join(data_folder, f"test.{input_extension}") is_loadable = geode_functions.is_loadable(geode_object, file_absolute_path) + assert isinstance(is_loadable, bool) assert isinstance(is_loadable, float) assert 0.0 <= is_loadable <= 1.0 From 9b7cd16b39c5a10115c9b722d725bfea09be6aa9 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 09:51:24 +0200 Subject: [PATCH 10/15] loadable > 0.0 --- tests/test_geode_functions.py | 9 ++++----- tests/test_routes.py | 18 ++++++------------ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/tests/test_geode_functions.py b/tests/test_geode_functions.py index 8c49c845..24af3868 100644 --- a/tests/test_geode_functions.py +++ b/tests/test_geode_functions.py @@ -63,7 +63,6 @@ def test_is_loadable(): for input_extension in input_extensions: file_absolute_path = os.path.join(data_folder, f"test.{input_extension}") is_loadable = geode_functions.is_loadable(geode_object, file_absolute_path) - assert isinstance(is_loadable, bool) assert isinstance(is_loadable, float) assert 0.0 <= is_loadable <= 1.0 @@ -75,7 +74,7 @@ def test_load(): for input_extension in input_extensions: print(f"\t{input_extension=}") file_absolute_path = os.path.join(data_folder, f"test.{input_extension}") - if geode_functions.is_loadable(geode_object, file_absolute_path): + if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0: data = geode_functions.load(geode_object, file_absolute_path) data_name = data.name() if "save_viewable" in value: @@ -173,7 +172,7 @@ def test_geode_object_output_extensions(): print( f"\t\tAdditional files: {[f.filename for f in additional.optional_files]}" ) - if geode_functions.is_loadable(geode_object, file_absolute_path): + if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0: data = geode_functions.load(geode_object, file_absolute_path) geode_objets_and_output_extensions = ( geode_functions.geode_objects_output_extensions(geode_object, data) @@ -216,7 +215,7 @@ def test_get_inspector_children(): print(f"\t\t{mandatory_files=}", flush=True) additional_files = [f.filename for f in additional.optional_files] print(f"\t\t{additional_files=}", flush=True) - if geode_functions.is_loadable(geode_object, file_absolute_path): + if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0: data = geode_functions.load(geode_object, file_absolute_path) class_inspector = geode_functions.inspect(geode_object, data) assert "InspectionResult" in class_inspector.__class__.__name__ @@ -307,7 +306,7 @@ def test_geode_objects_output_extensions(): input_extensions = geode_functions.geode_object_input_extensions(geode_object) for input_extension in input_extensions: file_absolute_path = os.path.join(data_folder, f"test.{input_extension}") - if geode_functions.is_loadable(geode_object, file_absolute_path): + if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0: data = geode_functions.load(geode_object, file_absolute_path) geode_objects_and_output_extensions = ( geode_functions.geode_objects_output_extensions(geode_object, data) diff --git a/tests/test_routes.py b/tests/test_routes.py index 83339d48..747324b2 100644 --- a/tests/test_routes.py +++ b/tests/test_routes.py @@ -201,12 +201,10 @@ def test_vertex_attribute_names(client, test_id): elements = geode_functions.get_elements(geode_object) if "points" in elements: for input_extension in input_extensions: - is_loadable = geode_functions.is_loadable( + if geode_functions.is_loadable( geode_object, os.path.join("./data", f"test.{input_extension}"), - ) - if is_loadable: - + ) > 0.0: def get_full_data(): return { "input_geode_object": geode_object, @@ -238,12 +236,10 @@ def test_polygon_attribute_names(client, test_id): elements = geode_functions.get_elements(geode_object) if "polygons" in elements: for input_extension in input_extensions: - is_loadable = geode_functions.is_loadable( + if geode_functions.is_loadable( geode_object, os.path.join("./data", f"test.{input_extension}"), - ) - if is_loadable: - + ) > 0.0: def get_full_data(): return { "input_geode_object": geode_object, @@ -275,12 +271,10 @@ def test_polyhedron_attribute_names(client, test_id): elements = geode_functions.get_elements(geode_object) if "polyhedrons" in elements: for input_extension in input_extensions: - is_loadable = geode_functions.is_loadable( + if geode_functions.is_loadable( geode_object, os.path.join("./data", f"test.{input_extension}"), - ) - if is_loadable: - + ) > 0.0: def get_full_data(): return { "input_geode_object": geode_object, From 7602045da209b13a7e6c76670069143281b2f5da Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Tue, 5 Aug 2025 07:51:46 +0000 Subject: [PATCH 11/15] Apply prepare changes --- tests/test_routes.py | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/tests/test_routes.py b/tests/test_routes.py index 747324b2..83a0f375 100644 --- a/tests/test_routes.py +++ b/tests/test_routes.py @@ -201,10 +201,14 @@ def test_vertex_attribute_names(client, test_id): elements = geode_functions.get_elements(geode_object) if "points" in elements: for input_extension in input_extensions: - if geode_functions.is_loadable( - geode_object, - os.path.join("./data", f"test.{input_extension}"), - ) > 0.0: + if ( + geode_functions.is_loadable( + geode_object, + os.path.join("./data", f"test.{input_extension}"), + ) + > 0.0 + ): + def get_full_data(): return { "input_geode_object": geode_object, @@ -236,10 +240,14 @@ def test_polygon_attribute_names(client, test_id): elements = geode_functions.get_elements(geode_object) if "polygons" in elements: for input_extension in input_extensions: - if geode_functions.is_loadable( - geode_object, - os.path.join("./data", f"test.{input_extension}"), - ) > 0.0: + if ( + geode_functions.is_loadable( + geode_object, + os.path.join("./data", f"test.{input_extension}"), + ) + > 0.0 + ): + def get_full_data(): return { "input_geode_object": geode_object, @@ -271,10 +279,14 @@ def test_polyhedron_attribute_names(client, test_id): elements = geode_functions.get_elements(geode_object) if "polyhedrons" in elements: for input_extension in input_extensions: - if geode_functions.is_loadable( - geode_object, - os.path.join("./data", f"test.{input_extension}"), - ) > 0.0: + if ( + geode_functions.is_loadable( + geode_object, + os.path.join("./data", f"test.{input_extension}"), + ) + > 0.0 + ): + def get_full_data(): return { "input_geode_object": geode_object, From 3b47540ee9cd22b47379e912c1db687f7c328c84 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 09:57:15 +0200 Subject: [PATCH 12/15] update geosciences --- requirements.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.in b/requirements.in index 9d5207e7..323376a3 100644 --- a/requirements.in +++ b/requirements.in @@ -1,7 +1,7 @@ OpenGeode-core==15.24.2 OpenGeode-IO==7.3.1 OpenGeode-Inspector==6.7.0 -OpenGeode-Geosciences==9.2.1 +OpenGeode-Geosciences==9.2.2 OpenGeode-GeosciencesIO==5.7.1 Geode-Viewables==3.2.0 fastjsonschema==2.16.2 From 578ed35d6bcd1f2f94f1b97db0b3055aac1908f0 Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Tue, 5 Aug 2025 07:57:38 +0000 Subject: [PATCH 13/15] Apply prepare changes --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bb5da705..a23f395d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -40,7 +40,7 @@ opengeode-core==15.24.2 # opengeode-geosciencesio # opengeode-inspector # opengeode-io -opengeode-geosciences==9.2.1 +opengeode-geosciences==9.2.2 # via # -r requirements.in # geode-viewables From 71f64e7913f6d6df59892e7314774c296172684f Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Tue, 5 Aug 2025 10:00:04 +0200 Subject: [PATCH 14/15] update IO --- requirements.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 323376a3..10ebe922 100644 --- a/requirements.in +++ b/requirements.in @@ -1,8 +1,8 @@ OpenGeode-core==15.24.2 -OpenGeode-IO==7.3.1 +OpenGeode-IO==7.3.2 OpenGeode-Inspector==6.7.0 OpenGeode-Geosciences==9.2.2 -OpenGeode-GeosciencesIO==5.7.1 +OpenGeode-GeosciencesIO==5.7.2 Geode-Viewables==3.2.0 fastjsonschema==2.16.2 Flask[async]==3.0.3 From b5653e338fb46d9d32e616c4aec43eb757678b3c Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Tue, 5 Aug 2025 08:00:27 +0000 Subject: [PATCH 15/15] Apply prepare changes --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index a23f395d..1e0a5aa2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -45,11 +45,11 @@ opengeode-geosciences==9.2.2 # -r requirements.in # geode-viewables # opengeode-geosciencesio -opengeode-geosciencesio==5.7.1 +opengeode-geosciencesio==5.7.2 # via -r requirements.in opengeode-inspector==6.7.0 # via -r requirements.in -opengeode-io==7.3.1 +opengeode-io==7.3.2 # via # -r requirements.in # geode-viewables