OpenGeodeWeb-Back 6.11.0__tar.gz → 6.12.0rc1__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.11.0 → opengeodeweb_back-6.12.0rc1}/PKG-INFO +4 -4
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/pyproject.toml +1 -1
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/requirements.txt +3 -3
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/PKG-INFO +4 -4
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +1 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/requires.txt +3 -3
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/__init__.py +2 -0
- opengeodeweb_back-6.12.0rc1/src/opengeodeweb_back/geode_objects/geode_horizon_stack3d.py +103 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/blueprint_routes.py +1 -1
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/blueprint_create.py +3 -9
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/utils_functions.py +55 -38
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/tests/test_utils_functions.py +6 -10
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/LICENSE +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/README.md +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/setup.cfg +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/app.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_functions.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_brep.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_cross_section.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_edged_curve2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_edged_curve3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_graph.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_grid2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_grid3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_hybrid_solid3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_implicit_cross_section.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_implicit_structural_model.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_mesh.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_model.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_object.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_point_set2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_point_set3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_polyhedral_solid3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_raster_image2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_raster_image3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_section.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_solid_mesh3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_structural_model.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_surface_mesh2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_surface_mesh3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_tetrahedral_solid3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface2d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface3d.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/geode_objects/geode_vertex_set.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/py.typed +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/edged_curve.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/edged_curve.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/point_set.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/point_set.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/polygonal_surface.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/create/schemas/polygonal_surface.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/allowed_files.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/allowed_objects.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/export_project.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/export_project.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/geode_object_inheritance.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/geode_object_inheritance.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/import_project.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/import_project.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/kill.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/missing_files.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_edge_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_edge_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_polygon_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_polygon_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_polyhedron_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_vertex_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/model_component_vertex_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/ping.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/texture_coordinates.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/upload_file.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/validate.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/validate.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/test_utils.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/tests/test_create_routes.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/tests/test_geode_functions.py +0 -0
- {opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/tests/test_routes.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Back
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.12.0rc1
|
|
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
|
|
@@ -21,14 +21,14 @@ Requires-Dist: geode-viewables==3.4.0
|
|
|
21
21
|
Requires-Dist: itsdangerous>=2
|
|
22
22
|
Requires-Dist: jinja2>=3
|
|
23
23
|
Requires-Dist: markupsafe>=3
|
|
24
|
-
Requires-Dist: opengeode-core==17.
|
|
25
|
-
Requires-Dist: opengeode-geosciences==9.6.
|
|
24
|
+
Requires-Dist: opengeode-core==17.4.4
|
|
25
|
+
Requires-Dist: opengeode-geosciences==9.6.1
|
|
26
26
|
Requires-Dist: opengeode-geosciencesio==5.9.0
|
|
27
27
|
Requires-Dist: opengeode-inspector==6.11.6
|
|
28
28
|
Requires-Dist: opengeode-inspector-geosciences==1.1.0
|
|
29
29
|
Requires-Dist: opengeode-io==7.7.0
|
|
30
30
|
Requires-Dist: werkzeug==3.1.8
|
|
31
|
-
Requires-Dist: opengeodeweb-microservice==1.*,>=1.
|
|
31
|
+
Requires-Dist: opengeodeweb-microservice==1.*,>=1.2.0rc1
|
|
32
32
|
Dynamic: license-file
|
|
33
33
|
|
|
34
34
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
|
@@ -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.12.0-rc.1"
|
|
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"
|
|
@@ -31,7 +31,7 @@ markupsafe>=3
|
|
|
31
31
|
# flask
|
|
32
32
|
# jinja2
|
|
33
33
|
# werkzeug
|
|
34
|
-
opengeode-core==17.
|
|
34
|
+
opengeode-core==17.4.4
|
|
35
35
|
# via
|
|
36
36
|
# -r requirements.in
|
|
37
37
|
# geode-common
|
|
@@ -41,7 +41,7 @@ opengeode-core==17.3.7
|
|
|
41
41
|
# opengeode-inspector
|
|
42
42
|
# opengeode-inspector-geosciences
|
|
43
43
|
# opengeode-io
|
|
44
|
-
opengeode-geosciences==9.6.
|
|
44
|
+
opengeode-geosciences==9.6.1
|
|
45
45
|
# via
|
|
46
46
|
# -r requirements.in
|
|
47
47
|
# geode-viewables
|
|
@@ -66,4 +66,4 @@ werkzeug==3.1.8
|
|
|
66
66
|
# flask
|
|
67
67
|
# flask-cors
|
|
68
68
|
|
|
69
|
-
opengeodeweb-microservice==1.*,>=1.
|
|
69
|
+
opengeodeweb-microservice==1.*,>=1.2.0rc1
|
{opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/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.12.0rc1
|
|
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
|
|
@@ -21,14 +21,14 @@ Requires-Dist: geode-viewables==3.4.0
|
|
|
21
21
|
Requires-Dist: itsdangerous>=2
|
|
22
22
|
Requires-Dist: jinja2>=3
|
|
23
23
|
Requires-Dist: markupsafe>=3
|
|
24
|
-
Requires-Dist: opengeode-core==17.
|
|
25
|
-
Requires-Dist: opengeode-geosciences==9.6.
|
|
24
|
+
Requires-Dist: opengeode-core==17.4.4
|
|
25
|
+
Requires-Dist: opengeode-geosciences==9.6.1
|
|
26
26
|
Requires-Dist: opengeode-geosciencesio==5.9.0
|
|
27
27
|
Requires-Dist: opengeode-inspector==6.11.6
|
|
28
28
|
Requires-Dist: opengeode-inspector-geosciences==1.1.0
|
|
29
29
|
Requires-Dist: opengeode-io==7.7.0
|
|
30
30
|
Requires-Dist: werkzeug==3.1.8
|
|
31
|
-
Requires-Dist: opengeodeweb-microservice==1.*,>=1.
|
|
31
|
+
Requires-Dist: opengeodeweb-microservice==1.*,>=1.2.0rc1
|
|
32
32
|
Dynamic: license-file
|
|
33
33
|
|
|
34
34
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
{opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt
RENAMED
|
@@ -23,6 +23,7 @@ src/opengeodeweb_back/geode_objects/geode_edged_curve3d.py
|
|
|
23
23
|
src/opengeodeweb_back/geode_objects/geode_graph.py
|
|
24
24
|
src/opengeodeweb_back/geode_objects/geode_grid2d.py
|
|
25
25
|
src/opengeodeweb_back/geode_objects/geode_grid3d.py
|
|
26
|
+
src/opengeodeweb_back/geode_objects/geode_horizon_stack3d.py
|
|
26
27
|
src/opengeodeweb_back/geode_objects/geode_hybrid_solid3d.py
|
|
27
28
|
src/opengeodeweb_back/geode_objects/geode_implicit_cross_section.py
|
|
28
29
|
src/opengeodeweb_back/geode_objects/geode_implicit_structural_model.py
|
{opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/OpenGeodeWeb_Back.egg-info/requires.txt
RENAMED
|
@@ -8,11 +8,11 @@ geode-viewables==3.4.0
|
|
|
8
8
|
itsdangerous>=2
|
|
9
9
|
jinja2>=3
|
|
10
10
|
markupsafe>=3
|
|
11
|
-
opengeode-core==17.
|
|
12
|
-
opengeode-geosciences==9.6.
|
|
11
|
+
opengeode-core==17.4.4
|
|
12
|
+
opengeode-geosciences==9.6.1
|
|
13
13
|
opengeode-geosciencesio==5.9.0
|
|
14
14
|
opengeode-inspector==6.11.6
|
|
15
15
|
opengeode-inspector-geosciences==1.1.0
|
|
16
16
|
opengeode-io==7.7.0
|
|
17
17
|
werkzeug==3.1.8
|
|
18
|
-
opengeodeweb-microservice==1.*,>=1.
|
|
18
|
+
opengeodeweb-microservice==1.*,>=1.2.0rc1
|
|
@@ -31,6 +31,7 @@ from .geode_structural_model import GeodeStructuralModel
|
|
|
31
31
|
from .geode_cross_section import GeodeCrossSection
|
|
32
32
|
from .geode_implicit_structural_model import GeodeImplicitStructuralModel
|
|
33
33
|
from .geode_implicit_cross_section import GeodeImplicitCrossSection
|
|
34
|
+
from .geode_horizon_stack3d import GeodeHorizonStack3D
|
|
34
35
|
|
|
35
36
|
geode_objects: dict[GeodeObjectType, type[GeodeObject]] = {
|
|
36
37
|
"VertexSet": GeodeVertexSet,
|
|
@@ -58,4 +59,5 @@ geode_objects: dict[GeodeObjectType, type[GeodeObject]] = {
|
|
|
58
59
|
"CrossSection": GeodeCrossSection,
|
|
59
60
|
"ImplicitStructuralModel": GeodeImplicitStructuralModel,
|
|
60
61
|
"ImplicitCrossSection": GeodeImplicitCrossSection,
|
|
62
|
+
"HorizonStack3D": GeodeHorizonStack3D,
|
|
61
63
|
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Standard library imports
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
# Third party imports
|
|
6
|
+
import opengeode as og
|
|
7
|
+
import opengeode_geosciences as og_geosciences
|
|
8
|
+
from opengeodeweb_microservice.database.data_types import GeodeModelType
|
|
9
|
+
|
|
10
|
+
# Local application imports
|
|
11
|
+
from .geode_model import GeodeModel, ComponentRegistry
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class GeodeHorizonStack3D(GeodeModel):
|
|
15
|
+
horizon_stack: og_geosciences.HorizonsStack3D
|
|
16
|
+
|
|
17
|
+
def __init__(
|
|
18
|
+
self, horizon_stack: og_geosciences.HorizonsStack3D | None = None
|
|
19
|
+
) -> None:
|
|
20
|
+
self.horizon_stack = (
|
|
21
|
+
horizon_stack
|
|
22
|
+
if horizon_stack is not None
|
|
23
|
+
else og_geosciences.HorizonsStack3D()
|
|
24
|
+
)
|
|
25
|
+
super().__init__(self.horizon_stack)
|
|
26
|
+
|
|
27
|
+
@classmethod
|
|
28
|
+
def geode_object_type(cls) -> GeodeModelType:
|
|
29
|
+
return "HorizonStack3D"
|
|
30
|
+
|
|
31
|
+
def native_extension(self) -> str:
|
|
32
|
+
return self.horizon_stack.native_extension()
|
|
33
|
+
|
|
34
|
+
@classmethod
|
|
35
|
+
def is_3D(cls) -> bool:
|
|
36
|
+
return True
|
|
37
|
+
|
|
38
|
+
@classmethod
|
|
39
|
+
def is_viewable(cls) -> bool:
|
|
40
|
+
return False
|
|
41
|
+
|
|
42
|
+
def builder(self) -> og_geosciences.HorizonsStackBuilder3D:
|
|
43
|
+
return og_geosciences.HorizonsStackBuilder3D(self.horizon_stack)
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def load(cls, filename: str) -> GeodeHorizonStack3D:
|
|
47
|
+
return GeodeHorizonStack3D(og_geosciences.load_horizons_stack3D(filename))
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def additional_files(cls, filename: str) -> og.AdditionalFiles:
|
|
51
|
+
return og_geosciences.horizons_stack_additional_files3D(filename)
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def is_loadable(cls, filename: str) -> og.Percentage:
|
|
55
|
+
return og_geosciences.is_horizons_stack_loadable3D(filename)
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def input_extensions(cls) -> list[str]:
|
|
59
|
+
return og_geosciences.HorizonsStackInputFactory3D.list_creators()
|
|
60
|
+
|
|
61
|
+
@classmethod
|
|
62
|
+
def output_extensions(cls) -> list[str]:
|
|
63
|
+
return og_geosciences.HorizonsStackOutputFactory3D.list_creators()
|
|
64
|
+
|
|
65
|
+
@classmethod
|
|
66
|
+
def object_priority(cls, filename: str) -> int:
|
|
67
|
+
return og_geosciences.horizons_stack_object_priority3D(filename)
|
|
68
|
+
|
|
69
|
+
def is_saveable(self, filename: str) -> bool:
|
|
70
|
+
return og_geosciences.is_horizons_stack_saveable3D(self.horizon_stack, filename)
|
|
71
|
+
|
|
72
|
+
def save(self, filename: str) -> list[str]:
|
|
73
|
+
return og_geosciences.save_horizons_stack3D(self.horizon_stack, filename)
|
|
74
|
+
|
|
75
|
+
def save_viewable(self, filename_without_extension: str) -> str:
|
|
76
|
+
return ""
|
|
77
|
+
|
|
78
|
+
def save_light_viewable(self, filename_without_extension: str) -> str:
|
|
79
|
+
return ""
|
|
80
|
+
|
|
81
|
+
def mesh_components(self) -> ComponentRegistry:
|
|
82
|
+
return {}
|
|
83
|
+
|
|
84
|
+
def collection_components(self) -> ComponentRegistry:
|
|
85
|
+
return {}
|
|
86
|
+
|
|
87
|
+
def boundaries(self, id: og.uuid) -> list[og.ComponentID]:
|
|
88
|
+
return []
|
|
89
|
+
|
|
90
|
+
def internals(self, id: og.uuid) -> list[og.ComponentID]:
|
|
91
|
+
return []
|
|
92
|
+
|
|
93
|
+
def items(self, id: og.uuid) -> list[og.ComponentID]:
|
|
94
|
+
return []
|
|
95
|
+
|
|
96
|
+
def component(self, id: og.uuid) -> og.Component3D:
|
|
97
|
+
raise NotImplementedError("HorizonStack3D has no mesh components")
|
|
98
|
+
|
|
99
|
+
def inspect(self) -> Any:
|
|
100
|
+
return None
|
|
101
|
+
|
|
102
|
+
def validate(self) -> Any:
|
|
103
|
+
return None
|
|
@@ -226,7 +226,7 @@ def save_viewable_file() -> flask.Response:
|
|
|
226
226
|
)
|
|
227
227
|
params = schemas.SaveViewableFile.from_dict(json_data)
|
|
228
228
|
return flask.make_response(
|
|
229
|
-
utils_functions.
|
|
229
|
+
utils_functions.generate_files_from_file(
|
|
230
230
|
geode_object_type=geode_object_type(params.geode_object_type),
|
|
231
231
|
input_file=params.filename,
|
|
232
232
|
),
|
|
@@ -35,9 +35,7 @@ def point_set() -> flask.Response:
|
|
|
35
35
|
for point in params.points:
|
|
36
36
|
builder.create_point(opengeode.Point3D([point.x, point.y, point.z]))
|
|
37
37
|
|
|
38
|
-
result = utils_functions.
|
|
39
|
-
pointset
|
|
40
|
-
)
|
|
38
|
+
result = utils_functions.generate_files_from_object(pointset)
|
|
41
39
|
return flask.make_response(result, 200)
|
|
42
40
|
|
|
43
41
|
|
|
@@ -61,9 +59,7 @@ def edged_curve() -> flask.Response:
|
|
|
61
59
|
for edge in params.edges:
|
|
62
60
|
builder.create_edge_with_vertices(edge[0], edge[1])
|
|
63
61
|
|
|
64
|
-
result = utils_functions.
|
|
65
|
-
edged_curve_obj
|
|
66
|
-
)
|
|
62
|
+
result = utils_functions.generate_files_from_object(edged_curve_obj)
|
|
67
63
|
return flask.make_response(result, 200)
|
|
68
64
|
|
|
69
65
|
|
|
@@ -89,7 +85,5 @@ def polygonal_surface() -> flask.Response:
|
|
|
89
85
|
|
|
90
86
|
builder.compute_polygon_adjacencies()
|
|
91
87
|
|
|
92
|
-
result = utils_functions.
|
|
93
|
-
polygonal_surface_obj
|
|
94
|
-
)
|
|
88
|
+
result = utils_functions.generate_files_from_object(polygonal_surface_obj)
|
|
95
89
|
return flask.make_response(result, 200)
|
{opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/utils_functions.py
RENAMED
|
@@ -198,20 +198,22 @@ def create_data_folder_from_id(data_id: str) -> str:
|
|
|
198
198
|
|
|
199
199
|
|
|
200
200
|
def model_components(
|
|
201
|
-
data_id: str, model: GeodeModel, viewable_file: str
|
|
201
|
+
data_id: str, model: GeodeModel, viewable_file: str | None
|
|
202
202
|
) -> dict[str, Any]:
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
203
|
+
uuid_to_flat_index: dict[str, int] = {}
|
|
204
|
+
if viewable_file:
|
|
205
|
+
vtm_file_path = geode_functions.data_file_path(data_id, viewable_file)
|
|
206
|
+
tree = ET.parse(vtm_file_path)
|
|
207
|
+
root = tree.find("vtkMultiBlockDataSet")
|
|
208
|
+
if root is None:
|
|
209
|
+
flask.abort(500, "Failed to read viewable file")
|
|
210
|
+
current_index = 0
|
|
211
|
+
assert root is not None
|
|
212
|
+
for elem in root.iter():
|
|
213
|
+
if "uuid" in elem.attrib and elem.tag == "DataSet":
|
|
214
|
+
uuid_to_flat_index[elem.attrib["uuid"]] = current_index
|
|
215
|
+
current_index += 1
|
|
216
|
+
|
|
215
217
|
model_mesh_components = model.mesh_components()
|
|
216
218
|
mesh_components = []
|
|
217
219
|
for mesh_component, ids in model_mesh_components.items():
|
|
@@ -270,44 +272,59 @@ def save_all_viewables_and_return_info(
|
|
|
270
272
|
data_path: str,
|
|
271
273
|
) -> dict[str, Any]:
|
|
272
274
|
with ThreadPoolExecutor() as executor:
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
(
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
275
|
+
tasks: list[tuple[Callable[[str], Any], str]] = [
|
|
276
|
+
(
|
|
277
|
+
geode_object.save,
|
|
278
|
+
os.path.join(data_path, "native." + geode_object.native_extension()),
|
|
279
|
+
)
|
|
280
|
+
]
|
|
281
|
+
if geode_object.is_viewable():
|
|
282
|
+
tasks.extend(
|
|
283
|
+
[
|
|
284
|
+
(geode_object.save_viewable, os.path.join(data_path, "viewable")),
|
|
285
|
+
(
|
|
286
|
+
geode_object.save_light_viewable,
|
|
287
|
+
os.path.join(data_path, "light_viewable"),
|
|
280
288
|
),
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
]
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
289
|
+
]
|
|
290
|
+
)
|
|
291
|
+
|
|
292
|
+
results = list(executor.map(lambda args: args[0](args[1]), tasks))
|
|
293
|
+
native_files = results[0]
|
|
294
|
+
if geode_object.is_viewable():
|
|
295
|
+
viewable_path = results[1]
|
|
296
|
+
light_path = results[2]
|
|
297
|
+
with open(light_path, "rb") as f:
|
|
298
|
+
binary_light_viewable = f.read()
|
|
299
|
+
binary_light_viewable_str = binary_light_viewable.decode("utf-8")
|
|
300
|
+
data.viewable_file = os.path.basename(viewable_path)
|
|
301
|
+
data.light_viewable_file = os.path.basename(light_path)
|
|
302
|
+
else:
|
|
303
|
+
binary_light_viewable_str = None
|
|
304
|
+
data.viewable_file = None
|
|
305
|
+
data.light_viewable_file = None
|
|
306
|
+
|
|
291
307
|
data.native_file = os.path.basename(native_files[0])
|
|
292
|
-
data.viewable_file = os.path.basename(viewable_path)
|
|
293
|
-
data.light_viewable_file = os.path.basename(light_path)
|
|
294
308
|
|
|
295
309
|
assert data.native_file is not None
|
|
296
|
-
|
|
297
|
-
|
|
310
|
+
if geode_object.is_viewable():
|
|
311
|
+
assert data.viewable_file is not None
|
|
312
|
+
assert data.light_viewable_file is not None
|
|
298
313
|
name = geode_object.identifier.name()
|
|
299
314
|
if not name:
|
|
300
315
|
flask.abort(400, "Geode object has no name defined.")
|
|
301
316
|
|
|
302
317
|
response: dict[str, Any] = {
|
|
303
318
|
"native_file": data.native_file,
|
|
304
|
-
"viewable_file": data.viewable_file,
|
|
305
319
|
"id": data.id,
|
|
306
320
|
"name": name,
|
|
307
321
|
"viewer_type": data.viewer_object,
|
|
308
|
-
"
|
|
322
|
+
"is_viewable": geode_object.is_viewable(),
|
|
309
323
|
"geode_object_type": data.geode_object,
|
|
310
324
|
}
|
|
325
|
+
if geode_object.is_viewable():
|
|
326
|
+
response["viewable_file"] = data.viewable_file
|
|
327
|
+
response["binary_light_viewable"] = binary_light_viewable_str
|
|
311
328
|
if isinstance(geode_object, GeodeVertexSet):
|
|
312
329
|
response["nb_vertices"] = geode_object.vertex_set.nb_vertices()
|
|
313
330
|
if isinstance(geode_object, GeodeModel):
|
|
@@ -315,7 +332,7 @@ def save_all_viewables_and_return_info(
|
|
|
315
332
|
return response
|
|
316
333
|
|
|
317
334
|
|
|
318
|
-
def
|
|
335
|
+
def generate_files_from_object(
|
|
319
336
|
geode_object: GeodeObject,
|
|
320
337
|
) -> dict[str, Any]:
|
|
321
338
|
data = Data.create(
|
|
@@ -327,7 +344,7 @@ def generate_native_viewable_and_light_viewable_from_object(
|
|
|
327
344
|
return save_all_viewables_and_return_info(geode_object, data, data_path)
|
|
328
345
|
|
|
329
346
|
|
|
330
|
-
def
|
|
347
|
+
def generate_files_from_file(
|
|
331
348
|
geode_object_type: GeodeObjectType, input_file: str
|
|
332
349
|
) -> dict[str, Any]:
|
|
333
350
|
generic_geode_object = geode_objects[geode_object_type]
|
|
@@ -162,18 +162,14 @@ def test_save_all_viewables_commits_to_db(client: FlaskClient) -> None:
|
|
|
162
162
|
assert db_entry_before.native_file == result["native_file"]
|
|
163
163
|
|
|
164
164
|
|
|
165
|
-
def
|
|
165
|
+
def test_generate_files_from_object(
|
|
166
166
|
client: FlaskClient,
|
|
167
167
|
) -> None:
|
|
168
168
|
app = client.application
|
|
169
169
|
with app.app_context():
|
|
170
170
|
geode_object = GeodeBRep.load(os.path.join(data_dir, "test.og_brep"))
|
|
171
171
|
|
|
172
|
-
result = (
|
|
173
|
-
utils_functions.generate_native_viewable_and_light_viewable_from_object(
|
|
174
|
-
geode_object
|
|
175
|
-
)
|
|
176
|
-
)
|
|
172
|
+
result = utils_functions.generate_files_from_object(geode_object)
|
|
177
173
|
|
|
178
174
|
assert isinstance(result, dict)
|
|
179
175
|
assert isinstance(result["native_file"], str)
|
|
@@ -197,12 +193,12 @@ def test_generate_native_viewable_and_light_viewable_from_object(
|
|
|
197
193
|
assert os.path.exists(os.path.join(data_path, data.light_viewable_file))
|
|
198
194
|
|
|
199
195
|
|
|
200
|
-
def
|
|
196
|
+
def test_generate_files_from_file(
|
|
201
197
|
client: FlaskClient,
|
|
202
198
|
) -> None:
|
|
203
199
|
app = client.application
|
|
204
200
|
with app.app_context():
|
|
205
|
-
result = utils_functions.
|
|
201
|
+
result = utils_functions.generate_files_from_file(
|
|
206
202
|
GeodeBRep.geode_object_type(), "test.og_brep"
|
|
207
203
|
)
|
|
208
204
|
|
|
@@ -218,12 +214,12 @@ def test_generate_native_viewable_and_light_viewable_from_file(
|
|
|
218
214
|
assert isinstance(result["binary_light_viewable"], str)
|
|
219
215
|
|
|
220
216
|
|
|
221
|
-
def
|
|
217
|
+
def test_generate_files_from_file_with_multi_dots(
|
|
222
218
|
client: FlaskClient,
|
|
223
219
|
) -> None:
|
|
224
220
|
app = client.application
|
|
225
221
|
with app.app_context():
|
|
226
|
-
result = utils_functions.
|
|
222
|
+
result = utils_functions.generate_files_from_file(
|
|
227
223
|
GeodeBRep.geode_object_type(), "cube.test.og_brep"
|
|
228
224
|
)
|
|
229
225
|
assert result["name"] == "cube.test"
|
|
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.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/app_config.py
RENAMED
|
File without changes
|
{opengeodeweb_back-6.11.0 → opengeodeweb_back-6.12.0rc1}/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
|
|
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
|
|
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.11.0 → opengeodeweb_back-6.12.0rc1}/src/opengeodeweb_back/test_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|