Skip to content

Commit 3272961

Browse files
Merge pull request #169 from Geode-solutions/fix/is_loadable
fix(is_loadable): update new Percent object for is_loadable
2 parents b363718 + b5653e3 commit 3272961

File tree

5 files changed

+43
-34
lines changed

5 files changed

+43
-34
lines changed

requirements.in

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
OpenGeode-core==15.24.1
2-
OpenGeode-IO==7.3.1
1+
OpenGeode-core==15.24.2
2+
OpenGeode-IO==7.3.2
33
OpenGeode-Inspector==6.7.0
4-
OpenGeode-Geosciences==9.2.1
5-
OpenGeode-GeosciencesIO==5.7.1
4+
OpenGeode-Geosciences==9.2.2
5+
OpenGeode-GeosciencesIO==5.7.2
66
Geode-Viewables==3.2.0
77
fastjsonschema==2.16.2
88
Flask[async]==3.0.3
99
Flask-Cors==6.0.1
10-
werkzeug==3.0.3
10+
werkzeug==3.0.3

requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ markupsafe==3.0.2
3131
# via
3232
# jinja2
3333
# werkzeug
34-
opengeode-core==15.24.1
34+
opengeode-core==15.24.2
3535
# via
3636
# -r requirements.in
3737
# geode-common
@@ -40,16 +40,16 @@ opengeode-core==15.24.1
4040
# opengeode-geosciencesio
4141
# opengeode-inspector
4242
# opengeode-io
43-
opengeode-geosciences==9.2.1
43+
opengeode-geosciences==9.2.2
4444
# via
4545
# -r requirements.in
4646
# geode-viewables
4747
# opengeode-geosciencesio
48-
opengeode-geosciencesio==5.7.1
48+
opengeode-geosciencesio==5.7.2
4949
# via -r requirements.in
5050
opengeode-inspector==6.7.0
5151
# via -r requirements.in
52-
opengeode-io==7.3.1
52+
opengeode-io==7.3.2
5353
# via
5454
# -r requirements.in
5555
# geode-viewables

src/opengeodeweb_back/geode_functions.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ def additional_files(geode_object: str, file_absolute_path: str):
3232
return geode_object_value(geode_object)["additional_files"](file_absolute_path)
3333

3434

35-
def is_loadable(geode_object: str, file_absolute_path: str):
36-
return geode_object_value(geode_object)["is_loadable"](file_absolute_path)
35+
def is_loadable(geode_object: str, file_absolute_path: str) -> float:
36+
percentage = geode_object_value(geode_object)["is_loadable"](file_absolute_path)
37+
return percentage.value()
3738

3839

3940
def load(geode_object: str, file_absolute_path: str):
@@ -183,8 +184,8 @@ def list_geode_objects(
183184

184185
for geode_object in geode_objects_filtered_list:
185186
if has_creator(geode_object, file_extension):
186-
file_is_loadable = is_loadable(geode_object, file_absolute_path)
187-
return_dict[geode_object] = {"is_loadable": file_is_loadable}
187+
loadability_score = is_loadable(geode_object, file_absolute_path)
188+
return_dict[geode_object] = {"is_loadable": loadability_score}
188189
return return_dict
189190

190191

tests/test_geode_functions.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ def test_is_loadable():
6363
for input_extension in input_extensions:
6464
file_absolute_path = os.path.join(data_folder, f"test.{input_extension}")
6565
is_loadable = geode_functions.is_loadable(geode_object, file_absolute_path)
66-
assert type(is_loadable) is bool
66+
assert isinstance(is_loadable, float)
67+
assert 0.0 <= is_loadable <= 1.0
6768

6869

6970
def test_load():
@@ -73,7 +74,7 @@ def test_load():
7374
for input_extension in input_extensions:
7475
print(f"\t{input_extension=}")
7576
file_absolute_path = os.path.join(data_folder, f"test.{input_extension}")
76-
if geode_functions.is_loadable(geode_object, file_absolute_path):
77+
if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0:
7778
data = geode_functions.load(geode_object, file_absolute_path)
7879
data_name = data.name()
7980
if "save_viewable" in value:
@@ -171,7 +172,7 @@ def test_geode_object_output_extensions():
171172
print(
172173
f"\t\tAdditional files: {[f.filename for f in additional.optional_files]}"
173174
)
174-
if geode_functions.is_loadable(geode_object, file_absolute_path):
175+
if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0:
175176
data = geode_functions.load(geode_object, file_absolute_path)
176177
geode_objets_and_output_extensions = (
177178
geode_functions.geode_objects_output_extensions(geode_object, data)
@@ -214,7 +215,7 @@ def test_get_inspector_children():
214215
print(f"\t\t{mandatory_files=}", flush=True)
215216
additional_files = [f.filename for f in additional.optional_files]
216217
print(f"\t\t{additional_files=}", flush=True)
217-
if geode_functions.is_loadable(geode_object, file_absolute_path):
218+
if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0:
218219
data = geode_functions.load(geode_object, file_absolute_path)
219220
class_inspector = geode_functions.inspect(geode_object, data)
220221
assert "InspectionResult" in class_inspector.__class__.__name__
@@ -296,15 +297,16 @@ def test_list_geode_objects():
296297
input_extension,
297298
input_extension_value,
298299
) in input_extension_dict.items():
299-
assert type(input_extension_value) is bool
300+
assert isinstance(input_extension_value, float)
301+
assert 0.0 <= input_extension_value <= 1.0
300302

301303

302304
def test_geode_objects_output_extensions():
303305
for geode_object, value in geode_objects.geode_objects_dict().items():
304306
input_extensions = geode_functions.geode_object_input_extensions(geode_object)
305307
for input_extension in input_extensions:
306308
file_absolute_path = os.path.join(data_folder, f"test.{input_extension}")
307-
if geode_functions.is_loadable(geode_object, file_absolute_path):
309+
if geode_functions.is_loadable(geode_object, file_absolute_path) > 0.0:
308310
data = geode_functions.load(geode_object, file_absolute_path)
309311
geode_objects_and_output_extensions = (
310312
geode_functions.geode_objects_output_extensions(geode_object, data)

tests/test_routes.py

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,13 @@ def test_vertex_attribute_names(client, test_id):
201201
elements = geode_functions.get_elements(geode_object)
202202
if "points" in elements:
203203
for input_extension in input_extensions:
204-
is_loadable = geode_functions.is_loadable(
205-
geode_object,
206-
os.path.join("./data", f"test.{input_extension}"),
207-
)
208-
if is_loadable:
204+
if (
205+
geode_functions.is_loadable(
206+
geode_object,
207+
os.path.join("./data", f"test.{input_extension}"),
208+
)
209+
> 0.0
210+
):
209211

210212
def get_full_data():
211213
return {
@@ -238,11 +240,13 @@ def test_polygon_attribute_names(client, test_id):
238240
elements = geode_functions.get_elements(geode_object)
239241
if "polygons" in elements:
240242
for input_extension in input_extensions:
241-
is_loadable = geode_functions.is_loadable(
242-
geode_object,
243-
os.path.join("./data", f"test.{input_extension}"),
244-
)
245-
if is_loadable:
243+
if (
244+
geode_functions.is_loadable(
245+
geode_object,
246+
os.path.join("./data", f"test.{input_extension}"),
247+
)
248+
> 0.0
249+
):
246250

247251
def get_full_data():
248252
return {
@@ -275,11 +279,13 @@ def test_polyhedron_attribute_names(client, test_id):
275279
elements = geode_functions.get_elements(geode_object)
276280
if "polyhedrons" in elements:
277281
for input_extension in input_extensions:
278-
is_loadable = geode_functions.is_loadable(
279-
geode_object,
280-
os.path.join("./data", f"test.{input_extension}"),
281-
)
282-
if is_loadable:
282+
if (
283+
geode_functions.is_loadable(
284+
geode_object,
285+
os.path.join("./data", f"test.{input_extension}"),
286+
)
287+
> 0.0
288+
):
283289

284290
def get_full_data():
285291
return {

0 commit comments

Comments
 (0)