OpenGeodeWeb-Back 6.1.4rc1__tar.gz → 6.2.0__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.
- {opengeodeweb_back-6.1.4rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-6.2.0}/PKG-INFO +6 -6
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/pyproject.toml +1 -1
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/requirements.txt +5 -5
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +6 -6
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +2 -2
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/requires.txt +5 -5
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_brep.py +12 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_model.py +12 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_section.py +12 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/models/blueprint_models.py +34 -8
- opengeodeweb_back-6.2.0/src/opengeodeweb_back/routes/models/schemas/__init__.py +1 -0
- opengeodeweb_back-6.1.4rc1/src/opengeodeweb_back/routes/models/schemas/mesh_components.json → opengeodeweb_back-6.2.0/src/opengeodeweb_back/routes/models/schemas/model_components.json +1 -1
- opengeodeweb_back-6.1.4rc1/src/opengeodeweb_back/routes/models/schemas/mesh_components.py → opengeodeweb_back-6.2.0/src/opengeodeweb_back/routes/models/schemas/model_components.py +1 -1
- opengeodeweb_back-6.2.0/src/opengeodeweb_back/test_utils.py +49 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/tests/test_models_routes.py +18 -3
- opengeodeweb_back-6.1.4rc1/src/opengeodeweb_back/routes/models/schemas/__init__.py +0 -1
- opengeodeweb_back-6.1.4rc1/src/opengeodeweb_back/test_utils.py +0 -30
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/LICENSE +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/README.md +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/setup.cfg +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/app.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_functions.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/__init__.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_cross_section.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_edged_curve2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_edged_curve3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_graph.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_grid2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_grid3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_hybrid_solid3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_implicit_cross_section.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_implicit_structural_model.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_mesh.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_object.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_point_set2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_point_set3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_polyhedral_solid3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_raster_image2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_raster_image3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_solid_mesh3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_structural_model.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_surface_mesh2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_surface_mesh3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_tetrahedral_solid3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface2d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface3d.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/geode_vertex_set.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/types.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/py.typed +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/create/blueprint_create.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/create/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/create/schemas/point.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/create/schemas/point.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/allowed_files.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/allowed_objects.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/export_project.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/export_project.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/import_extension.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/import_extension.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/import_project.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/import_project.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/inspect_file.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/kill.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/missing_files.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/ping.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/save_viewable_file.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/texture_coordinates.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/upload_file.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/utils_functions.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/tests/test_create_routes.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/tests/test_geode_functions.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/tests/test_routes.py +0 -0
- {opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/tests/test_utils_functions.py +0 -0
{opengeodeweb_back-6.1.4rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-6.2.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Back
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2.0
|
|
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
|
|
@@ -16,15 +16,15 @@ Requires-Dist: blinker>=1
|
|
|
16
16
|
Requires-Dist: click>=8
|
|
17
17
|
Requires-Dist: flask[async]>=3
|
|
18
18
|
Requires-Dist: flask-cors==6.0.1
|
|
19
|
-
Requires-Dist: geode-common==33.
|
|
19
|
+
Requires-Dist: geode-common==33.19.0
|
|
20
20
|
Requires-Dist: geode-viewables==3.3.4
|
|
21
21
|
Requires-Dist: itsdangerous>=2
|
|
22
22
|
Requires-Dist: jinja2>=3
|
|
23
23
|
Requires-Dist: markupsafe>=3
|
|
24
|
-
Requires-Dist: opengeode-core==15.31.
|
|
25
|
-
Requires-Dist: opengeode-geosciences==9.5.
|
|
26
|
-
Requires-Dist: opengeode-geosciencesio==5.8.
|
|
27
|
-
Requires-Dist: opengeode-inspector==6.8.
|
|
24
|
+
Requires-Dist: opengeode-core==15.31.5
|
|
25
|
+
Requires-Dist: opengeode-geosciences==9.5.9
|
|
26
|
+
Requires-Dist: opengeode-geosciencesio==5.8.10
|
|
27
|
+
Requires-Dist: opengeode-inspector==6.8.17
|
|
28
28
|
Requires-Dist: opengeode-io==7.4.8
|
|
29
29
|
Requires-Dist: werkzeug==3.1.2
|
|
30
30
|
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.14
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "OpenGeodeWeb-Back"
|
|
7
|
-
version = "6.
|
|
7
|
+
version = "6.2.0"
|
|
8
8
|
dynamic = ["dependencies"]
|
|
9
9
|
authors = [{ name = "Geode-solutions", email = "team-web@geode-solutions.com" }]
|
|
10
10
|
description = "OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem"
|
|
@@ -16,7 +16,7 @@ flask[async]>=3
|
|
|
16
16
|
# flask-cors
|
|
17
17
|
flask-cors==6.0.1
|
|
18
18
|
# via -r requirements.in
|
|
19
|
-
geode-common==33.
|
|
19
|
+
geode-common==33.19.0
|
|
20
20
|
# via
|
|
21
21
|
# -r requirements.in
|
|
22
22
|
# geode-viewables
|
|
@@ -31,7 +31,7 @@ markupsafe>=3
|
|
|
31
31
|
# flask
|
|
32
32
|
# jinja2
|
|
33
33
|
# werkzeug
|
|
34
|
-
opengeode-core==15.31.
|
|
34
|
+
opengeode-core==15.31.5
|
|
35
35
|
# via
|
|
36
36
|
# -r requirements.in
|
|
37
37
|
# geode-common
|
|
@@ -40,14 +40,14 @@ opengeode-core==15.31.1
|
|
|
40
40
|
# opengeode-geosciencesio
|
|
41
41
|
# opengeode-inspector
|
|
42
42
|
# opengeode-io
|
|
43
|
-
opengeode-geosciences==9.5.
|
|
43
|
+
opengeode-geosciences==9.5.9
|
|
44
44
|
# via
|
|
45
45
|
# -r requirements.in
|
|
46
46
|
# geode-viewables
|
|
47
47
|
# opengeode-geosciencesio
|
|
48
|
-
opengeode-geosciencesio==5.8.
|
|
48
|
+
opengeode-geosciencesio==5.8.10
|
|
49
49
|
# via -r requirements.in
|
|
50
|
-
opengeode-inspector==6.8.
|
|
50
|
+
opengeode-inspector==6.8.17
|
|
51
51
|
# via -r requirements.in
|
|
52
52
|
opengeode-io==7.4.8
|
|
53
53
|
# via
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Back
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2.0
|
|
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
|
|
@@ -16,15 +16,15 @@ Requires-Dist: blinker>=1
|
|
|
16
16
|
Requires-Dist: click>=8
|
|
17
17
|
Requires-Dist: flask[async]>=3
|
|
18
18
|
Requires-Dist: flask-cors==6.0.1
|
|
19
|
-
Requires-Dist: geode-common==33.
|
|
19
|
+
Requires-Dist: geode-common==33.19.0
|
|
20
20
|
Requires-Dist: geode-viewables==3.3.4
|
|
21
21
|
Requires-Dist: itsdangerous>=2
|
|
22
22
|
Requires-Dist: jinja2>=3
|
|
23
23
|
Requires-Dist: markupsafe>=3
|
|
24
|
-
Requires-Dist: opengeode-core==15.31.
|
|
25
|
-
Requires-Dist: opengeode-geosciences==9.5.
|
|
26
|
-
Requires-Dist: opengeode-geosciencesio==5.8.
|
|
27
|
-
Requires-Dist: opengeode-inspector==6.8.
|
|
24
|
+
Requires-Dist: opengeode-core==15.31.5
|
|
25
|
+
Requires-Dist: opengeode-geosciences==9.5.9
|
|
26
|
+
Requires-Dist: opengeode-geosciencesio==5.8.10
|
|
27
|
+
Requires-Dist: opengeode-inspector==6.8.17
|
|
28
28
|
Requires-Dist: opengeode-io==7.4.8
|
|
29
29
|
Requires-Dist: werkzeug==3.1.2
|
|
30
30
|
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.14
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt
RENAMED
|
@@ -57,8 +57,8 @@ src/opengeodeweb_back/routes/create/schemas/point.json
|
|
|
57
57
|
src/opengeodeweb_back/routes/create/schemas/point.py
|
|
58
58
|
src/opengeodeweb_back/routes/models/blueprint_models.py
|
|
59
59
|
src/opengeodeweb_back/routes/models/schemas/__init__.py
|
|
60
|
-
src/opengeodeweb_back/routes/models/schemas/
|
|
61
|
-
src/opengeodeweb_back/routes/models/schemas/
|
|
60
|
+
src/opengeodeweb_back/routes/models/schemas/model_components.json
|
|
61
|
+
src/opengeodeweb_back/routes/models/schemas/model_components.py
|
|
62
62
|
src/opengeodeweb_back/routes/schemas/__init__.py
|
|
63
63
|
src/opengeodeweb_back/routes/schemas/allowed_files.json
|
|
64
64
|
src/opengeodeweb_back/routes/schemas/allowed_files.py
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/requires.txt
RENAMED
|
@@ -3,15 +3,15 @@ blinker>=1
|
|
|
3
3
|
click>=8
|
|
4
4
|
flask[async]>=3
|
|
5
5
|
flask-cors==6.0.1
|
|
6
|
-
geode-common==33.
|
|
6
|
+
geode-common==33.19.0
|
|
7
7
|
geode-viewables==3.3.4
|
|
8
8
|
itsdangerous>=2
|
|
9
9
|
jinja2>=3
|
|
10
10
|
markupsafe>=3
|
|
11
|
-
opengeode-core==15.31.
|
|
12
|
-
opengeode-geosciences==9.5.
|
|
13
|
-
opengeode-geosciencesio==5.8.
|
|
14
|
-
opengeode-inspector==6.8.
|
|
11
|
+
opengeode-core==15.31.5
|
|
12
|
+
opengeode-geosciences==9.5.9
|
|
13
|
+
opengeode-geosciencesio==5.8.10
|
|
14
|
+
opengeode-inspector==6.8.17
|
|
15
15
|
opengeode-io==7.4.8
|
|
16
16
|
werkzeug==3.1.2
|
|
17
17
|
opengeodeweb-microservice==1.*,>=1.0.14
|
|
@@ -76,6 +76,18 @@ class GeodeBRep(GeodeModel):
|
|
|
76
76
|
def mesh_components(self) -> ComponentRegistry:
|
|
77
77
|
return self.brep.mesh_components()
|
|
78
78
|
|
|
79
|
+
def collection_components(self) -> ComponentRegistry:
|
|
80
|
+
return self.brep.collection_components()
|
|
81
|
+
|
|
82
|
+
def boundaries(self, id: og.uuid) -> list[og.ComponentID]:
|
|
83
|
+
return self.brep.boundaries(id)
|
|
84
|
+
|
|
85
|
+
def internals(self, id: og.uuid) -> list[og.ComponentID]:
|
|
86
|
+
return self.brep.internals(id)
|
|
87
|
+
|
|
88
|
+
def items(self, id: og.uuid) -> list[og.ComponentID]:
|
|
89
|
+
return self.brep.items(id)
|
|
90
|
+
|
|
79
91
|
def inspect(self) -> og_inspector.BRepInspectionResult:
|
|
80
92
|
return og_inspector.inspect_brep(self.brep)
|
|
81
93
|
|
|
@@ -23,3 +23,15 @@ class GeodeModel(GeodeObject):
|
|
|
23
23
|
|
|
24
24
|
@abstractmethod
|
|
25
25
|
def mesh_components(self) -> ComponentRegistry: ...
|
|
26
|
+
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def collection_components(self) -> ComponentRegistry: ...
|
|
29
|
+
|
|
30
|
+
@abstractmethod
|
|
31
|
+
def boundaries(self, id: og.uuid) -> list[og.ComponentID]: ...
|
|
32
|
+
|
|
33
|
+
@abstractmethod
|
|
34
|
+
def internals(self, id: og.uuid) -> list[og.ComponentID]: ...
|
|
35
|
+
|
|
36
|
+
@abstractmethod
|
|
37
|
+
def items(self, id: og.uuid) -> list[og.ComponentID]: ...
|
|
@@ -78,6 +78,18 @@ class GeodeSection(GeodeModel):
|
|
|
78
78
|
def mesh_components(self) -> ComponentRegistry:
|
|
79
79
|
return self.section.mesh_components()
|
|
80
80
|
|
|
81
|
+
def collection_components(self) -> ComponentRegistry:
|
|
82
|
+
return self.section.collection_components()
|
|
83
|
+
|
|
84
|
+
def boundaries(self, id: og.uuid) -> list[og.ComponentID]:
|
|
85
|
+
return self.section.boundaries(id)
|
|
86
|
+
|
|
87
|
+
def internals(self, id: og.uuid) -> list[og.ComponentID]:
|
|
88
|
+
return self.section.internals(id)
|
|
89
|
+
|
|
90
|
+
def items(self, id: og.uuid) -> list[og.ComponentID]:
|
|
91
|
+
return self.section.items(id)
|
|
92
|
+
|
|
81
93
|
def inspect(self) -> og_inspector.SectionInspectionResult:
|
|
82
94
|
return og_inspector.inspect_section(self.section)
|
|
83
95
|
|
|
@@ -12,14 +12,14 @@ schemas_dict = get_schemas_dict(os.path.join(os.path.dirname(__file__), "schemas
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
@routes.route(
|
|
15
|
-
schemas_dict["
|
|
16
|
-
methods=schemas_dict["
|
|
15
|
+
schemas_dict["model_components"]["route"],
|
|
16
|
+
methods=schemas_dict["model_components"]["methods"],
|
|
17
17
|
)
|
|
18
|
-
def
|
|
18
|
+
def model_components() -> flask.Response:
|
|
19
19
|
json_data = utils_functions.validate_request(
|
|
20
|
-
flask.request, schemas_dict["
|
|
20
|
+
flask.request, schemas_dict["model_components"]
|
|
21
21
|
)
|
|
22
|
-
params = schemas.
|
|
22
|
+
params = schemas.ModelComponents.from_dict(json_data)
|
|
23
23
|
model = geode_functions.load_geode_object(params.id)
|
|
24
24
|
if not isinstance(model, GeodeModel):
|
|
25
25
|
flask.abort(400, f"{params.id} is not a GeodeModel")
|
|
@@ -44,14 +44,40 @@ def mesh_components() -> flask.Response:
|
|
|
44
44
|
geode_id = id.string()
|
|
45
45
|
component_name = geode_id
|
|
46
46
|
viewer_id = uuid_to_flat_index[geode_id]
|
|
47
|
-
|
|
47
|
+
boundaries = model.boundaries(id)
|
|
48
|
+
boundaries_uuid = [boundary.id().string() for boundary in boundaries]
|
|
49
|
+
internals = model.internals(id)
|
|
50
|
+
internals_uuid = [internal.id().string() for internal in internals]
|
|
48
51
|
mesh_component_object = {
|
|
49
|
-
"id": params.id,
|
|
50
52
|
"viewer_id": viewer_id,
|
|
51
53
|
"geode_id": geode_id,
|
|
52
54
|
"name": component_name,
|
|
53
55
|
"type": component_type,
|
|
56
|
+
"boundaries": boundaries_uuid,
|
|
57
|
+
"internals": internals_uuid,
|
|
54
58
|
}
|
|
55
59
|
mesh_components.append(mesh_component_object)
|
|
56
60
|
|
|
57
|
-
|
|
61
|
+
model_collection_components = model.collection_components()
|
|
62
|
+
collection_components = []
|
|
63
|
+
for collection_component, ids in model_collection_components.items():
|
|
64
|
+
component_type = collection_component.get()
|
|
65
|
+
for id in ids:
|
|
66
|
+
geode_id = id.string()
|
|
67
|
+
items = model.items(id)
|
|
68
|
+
items_uuid = [item.id().string() for item in items]
|
|
69
|
+
collection_component_object = {
|
|
70
|
+
"geode_id": geode_id,
|
|
71
|
+
"name": geode_id,
|
|
72
|
+
"type": component_type,
|
|
73
|
+
"items": items_uuid,
|
|
74
|
+
}
|
|
75
|
+
collection_components.append(collection_component_object)
|
|
76
|
+
|
|
77
|
+
return flask.make_response(
|
|
78
|
+
{
|
|
79
|
+
"mesh_components": mesh_components,
|
|
80
|
+
"collection_components": collection_components,
|
|
81
|
+
},
|
|
82
|
+
200,
|
|
83
|
+
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .model_components import *
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Standard library imports
|
|
2
|
+
from typing import Callable, Any
|
|
3
|
+
|
|
4
|
+
# Third party imports
|
|
5
|
+
from flask.testing import FlaskClient
|
|
6
|
+
|
|
7
|
+
# Local application imports
|
|
8
|
+
|
|
9
|
+
JsonData = dict[str, Any]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_route_wrong_params(
|
|
13
|
+
client: FlaskClient,
|
|
14
|
+
route: str,
|
|
15
|
+
get_full_data: Callable[[], JsonData],
|
|
16
|
+
path: list[str | int] | None = None,
|
|
17
|
+
) -> None:
|
|
18
|
+
if path is None:
|
|
19
|
+
path = []
|
|
20
|
+
|
|
21
|
+
def get_json() -> tuple[JsonData, Any]:
|
|
22
|
+
json = get_full_data()
|
|
23
|
+
target: Any = json
|
|
24
|
+
for sub_path in path:
|
|
25
|
+
target = target[sub_path]
|
|
26
|
+
return json, target
|
|
27
|
+
|
|
28
|
+
data = get_json()[1]
|
|
29
|
+
if isinstance(data, dict):
|
|
30
|
+
for key, value in data.items():
|
|
31
|
+
json, target = get_json()
|
|
32
|
+
target.pop(key)
|
|
33
|
+
response = client.post(route, json=json)
|
|
34
|
+
if response.status_code == 400:
|
|
35
|
+
error_description: str = response.get_json()["description"]
|
|
36
|
+
assert "must contain" in error_description
|
|
37
|
+
assert f"'{key}'" in error_description
|
|
38
|
+
if isinstance(value, (dict, list)):
|
|
39
|
+
test_route_wrong_params(client, route, get_full_data, path + [key])
|
|
40
|
+
|
|
41
|
+
json, target = get_json()
|
|
42
|
+
target["dumb_key"] = "dumb_value"
|
|
43
|
+
response = client.post(route, json=json)
|
|
44
|
+
assert response.status_code == 400
|
|
45
|
+
error_description = response.get_json()["description"]
|
|
46
|
+
assert "must not contain" in error_description
|
|
47
|
+
assert "'dumb_key'" in error_description
|
|
48
|
+
elif isinstance(data, list) and data:
|
|
49
|
+
test_route_wrong_params(client, route, get_full_data, path + [0])
|
|
@@ -18,12 +18,12 @@ base_dir = os.path.abspath(os.path.dirname(__file__))
|
|
|
18
18
|
data_dir = os.path.join(base_dir, "data")
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
def
|
|
21
|
+
def test_model_components(client: FlaskClient) -> None:
|
|
22
22
|
geode_object_type = "BRep"
|
|
23
23
|
filename = "cube.og_brep"
|
|
24
24
|
response = test_save_viewable_file(client, geode_object_type, filename)
|
|
25
25
|
|
|
26
|
-
route = "/opengeodeweb_back/models/
|
|
26
|
+
route = "/opengeodeweb_back/models/model_components"
|
|
27
27
|
brep_filename = os.path.join(data_dir, "cube.og_brep")
|
|
28
28
|
|
|
29
29
|
response = client.post(route, json={"id": response.get_json()["id"]})
|
|
@@ -34,11 +34,26 @@ def test_mesh_components(client: FlaskClient) -> None:
|
|
|
34
34
|
assert len(mesh_components) > 0
|
|
35
35
|
for mesh_component in mesh_components:
|
|
36
36
|
assert isinstance(mesh_component, object)
|
|
37
|
-
assert isinstance(mesh_component["id"], str)
|
|
38
37
|
assert isinstance(mesh_component["geode_id"], str)
|
|
39
38
|
assert isinstance(mesh_component["viewer_id"], int)
|
|
40
39
|
assert isinstance(mesh_component["name"], str)
|
|
41
40
|
assert isinstance(mesh_component["type"], str)
|
|
41
|
+
assert isinstance(mesh_component["boundaries"], list)
|
|
42
|
+
for boundary_uuid in mesh_component["boundaries"]:
|
|
43
|
+
assert isinstance(boundary_uuid, str)
|
|
44
|
+
assert isinstance(mesh_component["internals"], list)
|
|
45
|
+
for internal_uuid in mesh_component["internals"]:
|
|
46
|
+
assert isinstance(internal_uuid, str)
|
|
47
|
+
assert "collection_components" in response.get_json()
|
|
48
|
+
collection_components = response.get_json()["collection_components"]
|
|
49
|
+
assert isinstance(collection_components, list)
|
|
50
|
+
for collection_component in collection_components:
|
|
51
|
+
assert isinstance(collection_component, object)
|
|
52
|
+
assert isinstance(collection_component["geode_id"], str)
|
|
53
|
+
assert isinstance(collection_component["name"], str)
|
|
54
|
+
assert isinstance(collection_component["items"], list)
|
|
55
|
+
for item_uuid in collection_component["items"]:
|
|
56
|
+
assert isinstance(item_uuid, str)
|
|
42
57
|
|
|
43
58
|
|
|
44
59
|
def test_export_project_route(client: FlaskClient, tmp_path: Path) -> None:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .mesh_components import *
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Standard library imports
|
|
2
|
-
from typing import Callable, Any
|
|
3
|
-
|
|
4
|
-
# Third party imports
|
|
5
|
-
from flask.testing import FlaskClient
|
|
6
|
-
|
|
7
|
-
# Local application imports
|
|
8
|
-
|
|
9
|
-
JsonData = dict[str, Any]
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def test_route_wrong_params(
|
|
13
|
-
client: FlaskClient, route: str, get_full_data: Callable[[], JsonData]
|
|
14
|
-
) -> None:
|
|
15
|
-
for key, value in get_full_data().items():
|
|
16
|
-
json = get_full_data()
|
|
17
|
-
json.pop(key)
|
|
18
|
-
response = client.post(route, json=json)
|
|
19
|
-
assert response.status_code == 400
|
|
20
|
-
error_description = response.get_json()["description"]
|
|
21
|
-
assert "data must contain" in error_description
|
|
22
|
-
assert f"'{key}'" in error_description
|
|
23
|
-
|
|
24
|
-
json = get_full_data()
|
|
25
|
-
json["dumb_key"] = "dumb_value"
|
|
26
|
-
response = client.post(route, json=json)
|
|
27
|
-
assert response.status_code == 400
|
|
28
|
-
error_description = response.get_json()["description"]
|
|
29
|
-
assert "data must not contain" in error_description
|
|
30
|
-
assert "'dumb_key'" in error_description
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/OpenGeodeWeb_Back.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/geode_objects/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/kill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/routes/schemas/ping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.1.4rc1 → opengeodeweb_back-6.2.0}/src/opengeodeweb_back/utils_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|