OpenGeodeWeb-Back 5.5.0__tar.gz → 5.5.1rc1__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.
Files changed (34) hide show
  1. {opengeodeweb_back-5.5.0/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.5.1rc1}/PKG-INFO +12 -12
  2. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/pyproject.toml +1 -1
  3. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/requirements.txt +11 -11
  4. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +12 -12
  5. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/OpenGeodeWeb_Back.egg-info/requires.txt +11 -11
  6. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/geode_functions.py +4 -0
  7. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/geode_objects.py +48 -25
  8. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/tests/test_routes.py +91 -92
  9. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/LICENSE +0 -0
  10. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/README.md +0 -0
  11. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/setup.cfg +0 -0
  12. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
  13. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
  14. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
  15. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/__init__.py +0 -0
  16. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/app_config.py +0 -0
  17. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -0
  18. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
  19. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
  20. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
  21. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
  22. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
  23. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
  24. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
  25. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
  26. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
  27. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
  28. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
  29. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
  30. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
  31. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/test_utils.py +0 -0
  32. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/src/opengeodeweb_back/utils_functions.py +0 -0
  33. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/tests/test_geode_functions.py +0 -0
  34. {opengeodeweb_back-5.5.0 → opengeodeweb_back-5.5.1rc1}/tests/test_utils_functions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.5.0
3
+ Version: 5.5.1rc1
4
4
  Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
5
5
  Author-email: Geode-solutions <team-web@geode-solutions.com>
6
6
  Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
@@ -17,24 +17,24 @@ Requires-Dist: blinker==1.9.0
17
17
  Requires-Dist: click==8.1.8
18
18
  Requires-Dist: flask[async]==3.1.0
19
19
  Requires-Dist: flask-cors==5.0.0
20
- Requires-Dist: geode-background==8.8.10
21
- Requires-Dist: geode-common==33.4.0
22
- Requires-Dist: geode-conversion==6.1.4
23
- Requires-Dist: geode-explicit==6.1.26
24
- Requires-Dist: geode-implicit==3.5.0
25
- Requires-Dist: geode-numerics==5.2.4
26
- Requires-Dist: geode-simplex==9.0.8
20
+ Requires-Dist: geode-background==8.9.3
21
+ Requires-Dist: geode-common==33.5.0
22
+ Requires-Dist: geode-conversion==6.1.5
23
+ Requires-Dist: geode-explicit==6.1.28
24
+ Requires-Dist: geode-implicit==3.5.2
25
+ Requires-Dist: geode-numerics==5.2.5
26
+ Requires-Dist: geode-simplex==9.0.10
27
27
  Requires-Dist: geode-viewables==3.0.10
28
28
  Requires-Dist: itsdangerous==2.2.0
29
29
  Requires-Dist: jinja2==3.1.5
30
30
  Requires-Dist: jsonschema==4.23.0
31
31
  Requires-Dist: jsonschema-specifications==2024.10.1
32
32
  Requires-Dist: markupsafe==3.0.2
33
- Requires-Dist: opengeode-core==15.9.8
33
+ Requires-Dist: opengeode-core==15.10.1
34
34
  Requires-Dist: opengeode-geosciences==8.2.2
35
- Requires-Dist: opengeode-geosciencesio==5.3.4
36
- Requires-Dist: opengeode-inspector==6.3.4
37
- Requires-Dist: opengeode-io==7.0.9
35
+ Requires-Dist: opengeode-geosciencesio==5.3.6
36
+ Requires-Dist: opengeode-inspector==6.3.7
37
+ Requires-Dist: opengeode-io==7.1.0
38
38
  Requires-Dist: referencing==0.36.2
39
39
  Requires-Dist: rpds-py==0.22.3
40
40
  Requires-Dist: typing-extensions==4.12.2
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "OpenGeodeWeb-Back"
8
- version = "5.5.0"
8
+ version = "5.5.1-rc.1"
9
9
  dynamic = ["dependencies"]
10
10
  authors = [
11
11
  { name="Geode-solutions", email="team-web@geode-solutions.com" },
@@ -20,12 +20,12 @@ flask[async]==3.1.0
20
20
  # flask-cors
21
21
  flask-cors==5.0.0
22
22
  # via -r requirements.in
23
- geode-background==8.8.10
23
+ geode-background==8.9.3
24
24
  # via
25
25
  # geode-explicit
26
26
  # geode-implicit
27
27
  # geode-simplex
28
- geode-common==33.4.0
28
+ geode-common==33.5.0
29
29
  # via
30
30
  # -r requirements.in
31
31
  # geode-background
@@ -35,23 +35,23 @@ geode-common==33.4.0
35
35
  # geode-numerics
36
36
  # geode-simplex
37
37
  # geode-viewables
38
- geode-conversion==6.1.4
38
+ geode-conversion==6.1.5
39
39
  # via
40
40
  # geode-explicit
41
41
  # geode-implicit
42
42
  # geode-simplex
43
- geode-explicit==6.1.26
43
+ geode-explicit==6.1.28
44
44
  # via
45
45
  # -r requirements.in
46
46
  # geode-implicit
47
- geode-implicit==3.5.0
47
+ geode-implicit==3.5.2
48
48
  # via -r requirements.in
49
- geode-numerics==5.2.4
49
+ geode-numerics==5.2.5
50
50
  # via
51
51
  # -r requirements.in
52
52
  # geode-implicit
53
53
  # geode-simplex
54
- geode-simplex==9.0.8
54
+ geode-simplex==9.0.10
55
55
  # via
56
56
  # -r requirements.in
57
57
  # geode-implicit
@@ -69,7 +69,7 @@ markupsafe==3.0.2
69
69
  # via
70
70
  # jinja2
71
71
  # werkzeug
72
- opengeode-core==15.9.8
72
+ opengeode-core==15.10.1
73
73
  # via
74
74
  # -r requirements.in
75
75
  # geode-background
@@ -90,17 +90,17 @@ opengeode-geosciences==8.2.2
90
90
  # geode-implicit
91
91
  # geode-viewables
92
92
  # opengeode-geosciencesio
93
- opengeode-geosciencesio==5.3.4
93
+ opengeode-geosciencesio==5.3.6
94
94
  # via
95
95
  # -r requirements.in
96
96
  # geode-implicit
97
- opengeode-inspector==6.3.4
97
+ opengeode-inspector==6.3.7
98
98
  # via
99
99
  # -r requirements.in
100
100
  # geode-explicit
101
101
  # geode-implicit
102
102
  # geode-simplex
103
- opengeode-io==7.0.9
103
+ opengeode-io==7.1.0
104
104
  # via
105
105
  # -r requirements.in
106
106
  # geode-implicit
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.5.0
3
+ Version: 5.5.1rc1
4
4
  Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
5
5
  Author-email: Geode-solutions <team-web@geode-solutions.com>
6
6
  Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
@@ -17,24 +17,24 @@ Requires-Dist: blinker==1.9.0
17
17
  Requires-Dist: click==8.1.8
18
18
  Requires-Dist: flask[async]==3.1.0
19
19
  Requires-Dist: flask-cors==5.0.0
20
- Requires-Dist: geode-background==8.8.10
21
- Requires-Dist: geode-common==33.4.0
22
- Requires-Dist: geode-conversion==6.1.4
23
- Requires-Dist: geode-explicit==6.1.26
24
- Requires-Dist: geode-implicit==3.5.0
25
- Requires-Dist: geode-numerics==5.2.4
26
- Requires-Dist: geode-simplex==9.0.8
20
+ Requires-Dist: geode-background==8.9.3
21
+ Requires-Dist: geode-common==33.5.0
22
+ Requires-Dist: geode-conversion==6.1.5
23
+ Requires-Dist: geode-explicit==6.1.28
24
+ Requires-Dist: geode-implicit==3.5.2
25
+ Requires-Dist: geode-numerics==5.2.5
26
+ Requires-Dist: geode-simplex==9.0.10
27
27
  Requires-Dist: geode-viewables==3.0.10
28
28
  Requires-Dist: itsdangerous==2.2.0
29
29
  Requires-Dist: jinja2==3.1.5
30
30
  Requires-Dist: jsonschema==4.23.0
31
31
  Requires-Dist: jsonschema-specifications==2024.10.1
32
32
  Requires-Dist: markupsafe==3.0.2
33
- Requires-Dist: opengeode-core==15.9.8
33
+ Requires-Dist: opengeode-core==15.10.1
34
34
  Requires-Dist: opengeode-geosciences==8.2.2
35
- Requires-Dist: opengeode-geosciencesio==5.3.4
36
- Requires-Dist: opengeode-inspector==6.3.4
37
- Requires-Dist: opengeode-io==7.0.9
35
+ Requires-Dist: opengeode-geosciencesio==5.3.6
36
+ Requires-Dist: opengeode-inspector==6.3.7
37
+ Requires-Dist: opengeode-io==7.1.0
38
38
  Requires-Dist: referencing==0.36.2
39
39
  Requires-Dist: rpds-py==0.22.3
40
40
  Requires-Dist: typing-extensions==4.12.2
@@ -4,24 +4,24 @@ blinker==1.9.0
4
4
  click==8.1.8
5
5
  flask[async]==3.1.0
6
6
  flask-cors==5.0.0
7
- geode-background==8.8.10
8
- geode-common==33.4.0
9
- geode-conversion==6.1.4
10
- geode-explicit==6.1.26
11
- geode-implicit==3.5.0
12
- geode-numerics==5.2.4
13
- geode-simplex==9.0.8
7
+ geode-background==8.9.3
8
+ geode-common==33.5.0
9
+ geode-conversion==6.1.5
10
+ geode-explicit==6.1.28
11
+ geode-implicit==3.5.2
12
+ geode-numerics==5.2.5
13
+ geode-simplex==9.0.10
14
14
  geode-viewables==3.0.10
15
15
  itsdangerous==2.2.0
16
16
  jinja2==3.1.5
17
17
  jsonschema==4.23.0
18
18
  jsonschema-specifications==2024.10.1
19
19
  markupsafe==3.0.2
20
- opengeode-core==15.9.8
20
+ opengeode-core==15.10.1
21
21
  opengeode-geosciences==8.2.2
22
- opengeode-geosciencesio==5.3.4
23
- opengeode-inspector==6.3.4
24
- opengeode-io==7.0.9
22
+ opengeode-geosciencesio==5.3.6
23
+ opengeode-inspector==6.3.7
24
+ opengeode-io==7.1.0
25
25
  referencing==0.36.2
26
26
  rpds-py==0.22.3
27
27
  typing-extensions==4.12.2
@@ -79,6 +79,10 @@ def get_object_type(geode_object: str):
79
79
  return geode_object_value(geode_object)["object_type"]
80
80
 
81
81
 
82
+ def get_elements(geode_object: str):
83
+ return geode_object_value(geode_object)["elements"]
84
+
85
+
82
86
  def is_3D(geode_object: str):
83
87
  return geode_object_value(geode_object)["is_3D"]
84
88
 
@@ -10,6 +10,14 @@ import geode_viewables as g_v
10
10
 
11
11
  # Local application imports
12
12
 
13
+ mesh = "mesh"
14
+ model = "model"
15
+
16
+ points = "points"
17
+ edges = "edges"
18
+ polygons = "polygons"
19
+ polyhedrons = "polyhedrons"
20
+
13
21
 
14
22
  def geode_objects_dict():
15
23
  return {
@@ -28,7 +36,7 @@ def geode_objects_dict():
28
36
  "convert": og_gs.convert_brep_coordinate_reference_system,
29
37
  "create": og.create_brep_coordinate_system,
30
38
  },
31
- "object_type": "model",
39
+ "object_type": model,
32
40
  "is_3D": True,
33
41
  "is_viewable": True,
34
42
  "save_viewable": g_v.save_viewable_brep,
@@ -50,7 +58,7 @@ def geode_objects_dict():
50
58
  "convert": og_gs.convert_section_coordinate_reference_system,
51
59
  "create": og.create_section_coordinate_system,
52
60
  },
53
- "object_type": "model",
61
+ "object_type": model,
54
62
  "is_3D": False,
55
63
  "is_viewable": True,
56
64
  "save_viewable": g_v.save_viewable_cross_section,
@@ -71,7 +79,8 @@ def geode_objects_dict():
71
79
  "convert": og_gs.convert_edged_curve_coordinate_reference_system2D,
72
80
  "create": og.create_edged_curve_coordinate_system2D,
73
81
  },
74
- "object_type": "mesh",
82
+ "object_type": mesh,
83
+ "elements": [points, edges],
75
84
  "is_3D": False,
76
85
  "is_viewable": True,
77
86
  "save_viewable": g_v.save_viewable_edged_curve2D,
@@ -92,7 +101,8 @@ def geode_objects_dict():
92
101
  "convert": og_gs.convert_edged_curve_coordinate_reference_system3D,
93
102
  "create": og.create_edged_curve_coordinate_system3D,
94
103
  },
95
- "object_type": "mesh",
104
+ "object_type": mesh,
105
+ "elements": [points, edges],
96
106
  "is_3D": True,
97
107
  "is_viewable": True,
98
108
  "save_viewable": g_v.save_viewable_edged_curve3D,
@@ -108,7 +118,7 @@ def geode_objects_dict():
108
118
  "is_saveable": og.is_graph_saveable,
109
119
  "save": og.save_graph,
110
120
  "builder": og.GraphBuilder.create,
111
- "object_type": "mesh",
121
+ "object_type": mesh,
112
122
  "is_3D": False,
113
123
  "is_viewable": False,
114
124
  },
@@ -127,7 +137,8 @@ def geode_objects_dict():
127
137
  "convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
128
138
  "create": og.create_solid_mesh_coordinate_system3D,
129
139
  },
130
- "object_type": "mesh",
140
+ "object_type": mesh,
141
+ "elements": [points, polyhedrons],
131
142
  "is_3D": True,
132
143
  "is_viewable": True,
133
144
  "save_viewable": g_v.save_viewable_hybrid_solid3D,
@@ -149,7 +160,7 @@ def geode_objects_dict():
149
160
  "convert": og_gs.convert_section_coordinate_reference_system,
150
161
  "create": og.create_section_coordinate_system,
151
162
  },
152
- "object_type": "model",
163
+ "object_type": model,
153
164
  "is_3D": False,
154
165
  "is_viewable": True,
155
166
  "save_viewable": g_v.save_viewable_implicit_cross_section,
@@ -171,7 +182,7 @@ def geode_objects_dict():
171
182
  "convert": og_gs.convert_brep_coordinate_reference_system,
172
183
  "create": og.create_brep_coordinate_system,
173
184
  },
174
- "object_type": "model",
185
+ "object_type": model,
175
186
  "is_3D": True,
176
187
  "is_viewable": True,
177
188
  "save_viewable": g_v.save_viewable_implicit_structural_model,
@@ -186,7 +197,8 @@ def geode_objects_dict():
186
197
  "load": og.load_light_regular_grid2D,
187
198
  "is_saveable": og.is_light_regular_grid_saveable2D,
188
199
  "save": og.save_light_regular_grid2D,
189
- "object_type": "mesh",
200
+ "object_type": mesh,
201
+ "elements": [points, polygons],
190
202
  "is_3D": False,
191
203
  "is_viewable": True,
192
204
  "save_viewable": g_v.save_viewable_light_regular_grid2D,
@@ -200,7 +212,8 @@ def geode_objects_dict():
200
212
  "load": og.load_light_regular_grid3D,
201
213
  "is_saveable": og.is_light_regular_grid_saveable3D,
202
214
  "save": og.save_light_regular_grid3D,
203
- "object_type": "mesh",
215
+ "object_type": mesh,
216
+ "elements": [points, polyhedrons],
204
217
  "is_3D": True,
205
218
  "is_viewable": True,
206
219
  "save_viewable": g_v.save_viewable_light_regular_grid3D,
@@ -220,7 +233,8 @@ def geode_objects_dict():
220
233
  "convert": og_gs.convert_point_set_coordinate_reference_system2D,
221
234
  "create": og.create_point_set_coordinate_system2D,
222
235
  },
223
- "object_type": "mesh",
236
+ "object_type": mesh,
237
+ "elements": [points],
224
238
  "is_3D": False,
225
239
  "is_viewable": True,
226
240
  "save_viewable": g_v.save_viewable_point_set2D,
@@ -241,7 +255,8 @@ def geode_objects_dict():
241
255
  "convert": og_gs.convert_point_set_coordinate_reference_system3D,
242
256
  "create": og.create_point_set_coordinate_system3D,
243
257
  },
244
- "object_type": "mesh",
258
+ "object_type": mesh,
259
+ "elements": [points],
245
260
  "is_3D": True,
246
261
  "is_viewable": True,
247
262
  "save_viewable": g_v.save_viewable_point_set3D,
@@ -262,7 +277,8 @@ def geode_objects_dict():
262
277
  "convert": og_gs.convert_surface_mesh_coordinate_reference_system2D,
263
278
  "create": og.create_surface_mesh_coordinate_system2D,
264
279
  },
265
- "object_type": "mesh",
280
+ "object_type": mesh,
281
+ "elements": [points, polygons],
266
282
  "is_3D": False,
267
283
  "is_viewable": True,
268
284
  "save_viewable": g_v.save_viewable_polygonal_surface2D,
@@ -283,7 +299,8 @@ def geode_objects_dict():
283
299
  "convert": og_gs.convert_surface_mesh_coordinate_reference_system3D,
284
300
  "create": og.create_surface_mesh_coordinate_system3D,
285
301
  },
286
- "object_type": "mesh",
302
+ "object_type": mesh,
303
+ "elements": [points, polygons],
287
304
  "is_3D": True,
288
305
  "is_viewable": True,
289
306
  "save_viewable": g_v.save_viewable_polygonal_surface3D,
@@ -304,7 +321,8 @@ def geode_objects_dict():
304
321
  "convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
305
322
  "create": og.create_solid_mesh_coordinate_system3D,
306
323
  },
307
- "object_type": "mesh",
324
+ "object_type": mesh,
325
+ "elements": [points, polyhedrons],
308
326
  "is_3D": True,
309
327
  "is_viewable": True,
310
328
  "save_viewable": g_v.save_viewable_polyhedral_solid3D,
@@ -319,7 +337,7 @@ def geode_objects_dict():
319
337
  "load": og.load_raster_image2D,
320
338
  "is_saveable": og.is_raster_image_saveable2D,
321
339
  "save": og.save_raster_image2D,
322
- "object_type": "mesh",
340
+ "object_type": mesh,
323
341
  "is_3D": False,
324
342
  "is_viewable": True,
325
343
  "save_viewable": g_v.save_viewable_raster_image2D,
@@ -333,7 +351,7 @@ def geode_objects_dict():
333
351
  "load": og.load_raster_image3D,
334
352
  "is_saveable": og.is_raster_image_saveable3D,
335
353
  "save": og.save_raster_image3D,
336
- "object_type": "mesh",
354
+ "object_type": mesh,
337
355
  "is_3D": False,
338
356
  "is_viewable": True,
339
357
  "save_viewable": g_v.save_viewable_raster_image3D,
@@ -353,7 +371,8 @@ def geode_objects_dict():
353
371
  "convert": og_gs.convert_surface_mesh_coordinate_reference_system2D,
354
372
  "create": og.create_surface_mesh_coordinate_system2D,
355
373
  },
356
- "object_type": "mesh",
374
+ "object_type": mesh,
375
+ "elements": [points, polygons],
357
376
  "is_3D": False,
358
377
  "is_viewable": True,
359
378
  "save_viewable": g_v.save_viewable_regular_grid2D,
@@ -373,7 +392,8 @@ def geode_objects_dict():
373
392
  "convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
374
393
  "create": og.create_surface_mesh_coordinate_system3D,
375
394
  },
376
- "object_type": "mesh",
395
+ "object_type": mesh,
396
+ "elements": [points, polyhedrons],
377
397
  "is_3D": True,
378
398
  "is_viewable": True,
379
399
  "save_viewable": g_v.save_viewable_regular_grid3D,
@@ -393,7 +413,7 @@ def geode_objects_dict():
393
413
  "convert": og_gs.convert_section_coordinate_reference_system,
394
414
  "create": og.create_section_coordinate_system,
395
415
  },
396
- "object_type": "model",
416
+ "object_type": model,
397
417
  "is_3D": False,
398
418
  "is_viewable": True,
399
419
  "save_viewable": g_v.save_viewable_section,
@@ -415,7 +435,7 @@ def geode_objects_dict():
415
435
  "convert": og_gs.convert_brep_coordinate_reference_system,
416
436
  "create": og.create_brep_coordinate_system,
417
437
  },
418
- "object_type": "model",
438
+ "object_type": model,
419
439
  "is_3D": True,
420
440
  "is_viewable": True,
421
441
  "save_viewable": g_v.save_viewable_structural_model,
@@ -436,7 +456,8 @@ def geode_objects_dict():
436
456
  "convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
437
457
  "create": og.create_solid_mesh_coordinate_system3D,
438
458
  },
439
- "object_type": "mesh",
459
+ "object_type": mesh,
460
+ "elements": [points, polyhedrons],
440
461
  "is_3D": True,
441
462
  "is_viewable": True,
442
463
  "save_viewable": g_v.save_viewable_tetrahedral_solid3D,
@@ -457,7 +478,8 @@ def geode_objects_dict():
457
478
  "convert": og_gs.convert_surface_mesh_coordinate_reference_system2D,
458
479
  "create": og.create_surface_mesh_coordinate_system2D,
459
480
  },
460
- "object_type": "mesh",
481
+ "object_type": mesh,
482
+ "elements": [points, polygons],
461
483
  "is_3D": False,
462
484
  "is_viewable": True,
463
485
  "save_viewable": g_v.save_viewable_triangulated_surface2D,
@@ -478,7 +500,8 @@ def geode_objects_dict():
478
500
  "convert": og_gs.convert_surface_mesh_coordinate_reference_system3D,
479
501
  "create": og.create_surface_mesh_coordinate_system3D,
480
502
  },
481
- "object_type": "mesh",
503
+ "object_type": mesh,
504
+ "elements": [points, polygons],
482
505
  "is_3D": True,
483
506
  "is_viewable": True,
484
507
  "save_viewable": g_v.save_viewable_triangulated_surface3D,
@@ -494,7 +517,7 @@ def geode_objects_dict():
494
517
  "is_saveable": og.is_vertex_set_saveable,
495
518
  "save": og.save_vertex_set,
496
519
  "builder": og.VertexSetBuilder.create,
497
- "object_type": "mesh",
520
+ "object_type": mesh,
498
521
  "is_3D": False,
499
522
  "is_viewable": False,
500
523
  },
@@ -1,13 +1,11 @@
1
1
  # Standard library imports
2
- import base64
3
2
  import os
4
3
 
5
4
  # Third party imports
6
5
  from werkzeug.datastructures import FileStorage
7
- from flask import app
8
6
 
9
7
  # Local application imports
10
- from src.opengeodeweb_back import test_utils
8
+ from src.opengeodeweb_back import geode_functions, geode_objects, test_utils
11
9
 
12
10
 
13
11
  def test_allowed_files(client):
@@ -169,110 +167,111 @@ def test_save_viewable_file(client):
169
167
 
170
168
 
171
169
  def test_vertex_attribute_names(client):
172
- response = client.put(
173
- f"/upload_file",
174
- data={"file": FileStorage(open("./tests/vertex_attribute.vtp", "rb"))},
175
- )
176
- assert response.status_code == 201
177
-
178
- response = client.post(
179
- "/save_viewable_file",
180
- json={
181
- "input_geode_object": "PolygonalSurface3D",
182
- "filename": "vertex_attribute.vtp",
183
- },
184
- )
185
- assert response.status_code == 200
186
- native_file_name = response.json["native_file_name"]
187
-
188
170
  route = f"/vertex_attribute_names"
171
+ for geode_object, value in geode_objects.geode_objects_dict().items():
172
+ if value["object_type"] == "mesh":
173
+ input_extensions = geode_functions.geode_object_input_extensions(
174
+ geode_object
175
+ )
176
+ if "elements" in value:
177
+ elements = geode_functions.get_elements(geode_object)
178
+ if "points" in elements:
179
+ for input_extension in input_extensions:
180
+ is_loadable = geode_functions.is_loadable(
181
+ geode_object,
182
+ os.path.join("./data", f"test.{input_extension}"),
183
+ )
184
+ if is_loadable:
185
+
186
+ def get_full_data():
187
+ return {
188
+ "input_geode_object": geode_object,
189
+ "filename": f"test.{input_extension}",
190
+ }
191
+
192
+ response = client.post(route, json=get_full_data())
193
+ assert response.status_code == 200
194
+ vertex_attribute_names = response.json[
195
+ "vertex_attribute_names"
196
+ ]
197
+ assert type(vertex_attribute_names) is list
198
+ for vertex_attribute_name in vertex_attribute_names:
199
+ assert type(vertex_attribute_name) is str
189
200
 
190
- def get_full_data():
191
- return {
192
- "input_geode_object": "PolygonalSurface3D",
193
- "filename": native_file_name,
194
- }
195
-
196
- # Normal test with filename 'vertex_attribute.vtp'
197
- response = client.post(route, json=get_full_data())
198
- assert response.status_code == 200
199
- vertex_attribute_names = response.json["vertex_attribute_names"]
200
- assert type(vertex_attribute_names) is list
201
- for vertex_attribute_name in vertex_attribute_names:
202
- assert type(vertex_attribute_name) is str
203
-
201
+ # Test all params
204
202
  test_utils.test_route_wrong_params(client, route, get_full_data)
205
203
 
206
204
 
207
205
  def test_polygon_attribute_names(client):
208
- response = client.put(
209
- f"/upload_file",
210
- data={"file": FileStorage(open("./tests/polygon_attribute.vtp", "rb"))},
211
- )
212
- assert response.status_code == 201
213
-
214
- response = client.post(
215
- "/save_viewable_file",
216
- json={
217
- "input_geode_object": "PolygonalSurface3D",
218
- "filename": "polygon_attribute.vtp",
219
- },
220
- )
221
- assert response.status_code == 200
222
- native_file_name = response.json["native_file_name"]
223
-
224
206
  route = f"/polygon_attribute_names"
225
-
226
- def get_full_data():
227
- return {
228
- "input_geode_object": "PolygonalSurface3D",
229
- "filename": native_file_name,
230
- }
231
-
232
- # Normal test with filename 'vertex_attribute.vtp'
233
- response = client.post(route, json=get_full_data())
234
- assert response.status_code == 200
235
- polygon_attribute_names = response.json["polygon_attribute_names"]
236
- assert type(polygon_attribute_names) is list
237
- for polygon_attribute_name in polygon_attribute_names:
238
- assert type(polygon_attribute_name) is str
207
+ for geode_object, value in geode_objects.geode_objects_dict().items():
208
+ if value["object_type"] == "mesh":
209
+ input_extensions = geode_functions.geode_object_input_extensions(
210
+ geode_object
211
+ )
212
+ if "elements" in value:
213
+ elements = geode_functions.get_elements(geode_object)
214
+ if "polygons" in elements:
215
+ for input_extension in input_extensions:
216
+ is_loadable = geode_functions.is_loadable(
217
+ geode_object,
218
+ os.path.join("./data", f"test.{input_extension}"),
219
+ )
220
+ if is_loadable:
221
+
222
+ def get_full_data():
223
+ return {
224
+ "input_geode_object": geode_object,
225
+ "filename": f"test.{input_extension}",
226
+ }
227
+
228
+ response = client.post(route, json=get_full_data())
229
+ assert response.status_code == 200
230
+ polygon_attribute_names = response.json[
231
+ "polygon_attribute_names"
232
+ ]
233
+ assert type(polygon_attribute_names) is list
234
+ for polygon_attribute_name in polygon_attribute_names:
235
+ assert type(polygon_attribute_name) is str
239
236
 
240
237
  # Test all params
241
238
  test_utils.test_route_wrong_params(client, route, get_full_data)
242
239
 
243
240
 
244
241
  def test_polyhedron_attribute_names(client):
245
- response = client.put(
246
- f"/upload_file",
247
- data={"file": FileStorage(open("./tests/polyhedron_attribute.vtu", "rb"))},
248
- )
249
- assert response.status_code == 201
250
-
251
- response = client.post(
252
- "/save_viewable_file",
253
- json={
254
- "input_geode_object": "HybridSolid3D",
255
- "filename": "polyhedron_attribute.vtu",
256
- },
257
- )
258
- assert response.status_code == 200
259
- native_file_name = response.json["native_file_name"]
260
-
261
242
  route = f"/polyhedron_attribute_names"
243
+ for geode_object, value in geode_objects.geode_objects_dict().items():
244
+ if value["object_type"] == "mesh":
245
+ input_extensions = geode_functions.geode_object_input_extensions(
246
+ geode_object
247
+ )
248
+ if "elements" in value:
249
+ elements = geode_functions.get_elements(geode_object)
250
+ if "polyhedrons" in elements:
251
+ for input_extension in input_extensions:
252
+ is_loadable = geode_functions.is_loadable(
253
+ geode_object,
254
+ os.path.join("./data", f"test.{input_extension}"),
255
+ )
256
+ if is_loadable:
257
+
258
+ def get_full_data():
259
+ return {
260
+ "input_geode_object": geode_object,
261
+ "filename": f"test.{input_extension}",
262
+ }
263
+
264
+ response = client.post(route, json=get_full_data())
265
+ assert response.status_code == 200
266
+ polyhedron_attribute_names = response.json[
267
+ "polyhedron_attribute_names"
268
+ ]
269
+ assert type(polyhedron_attribute_names) is list
270
+ for polyhedron_attribute_name in polyhedron_attribute_names:
271
+ assert type(polyhedron_attribute_name) is str
262
272
 
263
- def get_full_data():
264
- return {
265
- "input_geode_object": "HybridSolid3D",
266
- "filename": native_file_name,
267
- }
268
-
269
- # Normal test with filename 'vertex_attribute.vtp'
270
- response = client.post(route, json=get_full_data())
271
- assert response.status_code == 200
272
- polygon_attribute_names = response.json["polyhedron_attribute_names"]
273
- assert type(polygon_attribute_names) is list
274
- for polygon_attribute_name in polygon_attribute_names:
275
- assert type(polygon_attribute_name) is str
273
+ # Test all params
274
+ test_utils.test_route_wrong_params(client, route, get_full_data)
276
275
 
277
276
  # Test all params
278
277
  test_utils.test_route_wrong_params(client, route, get_full_data)