OpenGeodeWeb-Back 6.2.0rc2__tar.gz → 6.3.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.2.0rc2/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-6.3.0}/PKG-INFO +2 -2
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/pyproject.toml +1 -1
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/requirements.txt +1 -1
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +2 -2
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +2 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/OpenGeodeWeb_Back.egg-info/requires.txt +1 -1
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/blueprint_routes.py +55 -19
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/__init__.py +1 -0
- opengeodeweb_back-6.3.0/src/opengeodeweb_back/routes/schemas/geode_object_inheritance.json +17 -0
- opengeodeweb_back-6.3.0/src/opengeodeweb_back/routes/schemas/geode_object_inheritance.py +10 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/utils_functions.py +3 -35
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/tests/test_models_routes.py +8 -12
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/tests/test_routes.py +45 -6
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/tests/test_utils_functions.py +2 -16
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/LICENSE +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/README.md +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/setup.cfg +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/app.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_functions.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/__init__.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_brep.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_cross_section.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_edged_curve2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_edged_curve3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_graph.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_grid2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_grid3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_hybrid_solid3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_implicit_cross_section.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_implicit_structural_model.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_mesh.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_model.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_object.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_point_set2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_point_set3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_polyhedral_solid3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_raster_image2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_raster_image3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_section.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_solid_mesh3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_structural_model.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_surface_mesh2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_surface_mesh3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_tetrahedral_solid3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface2d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface3d.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/geode_vertex_set.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/geode_objects/types.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/py.typed +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/create/blueprint_create.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/create/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/create/schemas/point.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/create/schemas/point.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/models/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/models/schemas/model_components.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/models/schemas/model_components.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/allowed_files.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/allowed_objects.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/export_project.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/export_project.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/import_extension.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/import_extension.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/import_project.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/import_project.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/inspect_file.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/kill.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/missing_files.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/ping.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/save_viewable_file.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/texture_coordinates.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/upload_file.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/test_utils.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/tests/test_create_routes.py +0 -0
- {opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/tests/test_geode_functions.py +0 -0
{opengeodeweb_back-6.2.0rc2/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-6.3.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.3.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
|
|
@@ -27,7 +27,7 @@ Requires-Dist: opengeode-geosciencesio==5.8.10
|
|
|
27
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
|
-
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.
|
|
30
|
+
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.15
|
|
31
31
|
Dynamic: license-file
|
|
32
32
|
|
|
33
33
|
<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.3.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"
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.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.3.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
|
|
@@ -27,7 +27,7 @@ Requires-Dist: opengeode-geosciencesio==5.8.10
|
|
|
27
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
|
-
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.
|
|
30
|
+
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.15
|
|
31
31
|
Dynamic: license-file
|
|
32
32
|
|
|
33
33
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt
RENAMED
|
@@ -70,6 +70,8 @@ src/opengeodeweb_back/routes/schemas/edge_attribute_names.json
|
|
|
70
70
|
src/opengeodeweb_back/routes/schemas/edge_attribute_names.py
|
|
71
71
|
src/opengeodeweb_back/routes/schemas/export_project.json
|
|
72
72
|
src/opengeodeweb_back/routes/schemas/export_project.py
|
|
73
|
+
src/opengeodeweb_back/routes/schemas/geode_object_inheritance.json
|
|
74
|
+
src/opengeodeweb_back/routes/schemas/geode_object_inheritance.py
|
|
73
75
|
src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json
|
|
74
76
|
src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.py
|
|
75
77
|
src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json
|
|
@@ -426,7 +426,7 @@ def export_project() -> flask.Response:
|
|
|
426
426
|
export_vease_path = os.path.join(project_folder, filename)
|
|
427
427
|
|
|
428
428
|
with get_session() as session:
|
|
429
|
-
rows = session.query(Data.id, Data.
|
|
429
|
+
rows = session.query(Data.id, Data.native_file).all()
|
|
430
430
|
|
|
431
431
|
with zipfile.ZipFile(
|
|
432
432
|
export_vease_path, "w", compression=zipfile.ZIP_DEFLATED
|
|
@@ -435,21 +435,12 @@ def export_project() -> flask.Response:
|
|
|
435
435
|
if os.path.isfile(database_root_path):
|
|
436
436
|
zip_file.write(database_root_path, "project.db")
|
|
437
437
|
|
|
438
|
-
for data_id,
|
|
438
|
+
for data_id, native_file in rows:
|
|
439
439
|
base_dir = os.path.join(project_folder, data_id)
|
|
440
440
|
|
|
441
|
-
|
|
442
|
-
if os.path.isfile(
|
|
443
|
-
zip_file.write(
|
|
444
|
-
|
|
445
|
-
for relative_path in (
|
|
446
|
-
additional_files if isinstance(additional_files, list) else []
|
|
447
|
-
):
|
|
448
|
-
additional_path = os.path.join(base_dir, relative_path)
|
|
449
|
-
if os.path.isfile(additional_path):
|
|
450
|
-
zip_file.write(
|
|
451
|
-
additional_path, os.path.join(data_id, relative_path)
|
|
452
|
-
)
|
|
441
|
+
native_path = os.path.join(base_dir, str(native_file))
|
|
442
|
+
if os.path.isfile(native_path):
|
|
443
|
+
zip_file.write(native_path, os.path.join(data_id, str(native_file)))
|
|
453
444
|
|
|
454
445
|
zip_file.writestr("snapshot.json", flask.json.dumps(params.snapshot))
|
|
455
446
|
|
|
@@ -524,17 +515,17 @@ def import_project() -> flask.Response:
|
|
|
524
515
|
if os.path.isfile(vpath):
|
|
525
516
|
continue
|
|
526
517
|
|
|
527
|
-
|
|
528
|
-
if not
|
|
518
|
+
native_file = str(data.native_file or "")
|
|
519
|
+
if not native_file:
|
|
529
520
|
continue
|
|
530
521
|
|
|
531
|
-
|
|
532
|
-
if not os.path.isfile(
|
|
522
|
+
native_full = geode_functions.data_file_path(data.id, native_file)
|
|
523
|
+
if not os.path.isfile(native_full):
|
|
533
524
|
continue
|
|
534
525
|
|
|
535
526
|
geode_object = geode_functions.geode_object_from_string(
|
|
536
527
|
data.geode_object
|
|
537
|
-
).load(
|
|
528
|
+
).load(native_full)
|
|
538
529
|
utils_functions.save_all_viewables_and_return_info(
|
|
539
530
|
geode_object, data, data_path
|
|
540
531
|
)
|
|
@@ -617,3 +608,48 @@ def import_extension() -> flask.Response:
|
|
|
617
608
|
},
|
|
618
609
|
200,
|
|
619
610
|
)
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
@routes.route(
|
|
614
|
+
schemas_dict["geode_object_inheritance"]["route"],
|
|
615
|
+
methods=schemas_dict["geode_object_inheritance"]["methods"],
|
|
616
|
+
)
|
|
617
|
+
def geode_object_inheritance() -> flask.Response:
|
|
618
|
+
json_data = utils_functions.validate_request(
|
|
619
|
+
flask.request, schemas_dict["geode_object_inheritance"]
|
|
620
|
+
)
|
|
621
|
+
params = schemas.GeodeObjectInheritance.from_dict(json_data)
|
|
622
|
+
geode_object_type = params.geode_object_type
|
|
623
|
+
target_class = geode_functions.geode_object_from_string(geode_object_type)
|
|
624
|
+
|
|
625
|
+
def get_all_bases(geode_class: type) -> set[type]:
|
|
626
|
+
bases = set()
|
|
627
|
+
for base_class in geode_class.__bases__:
|
|
628
|
+
if base_class is not object:
|
|
629
|
+
bases.add(base_class)
|
|
630
|
+
bases.update(get_all_bases(base_class))
|
|
631
|
+
return bases
|
|
632
|
+
|
|
633
|
+
def get_all_subclasses(geode_class: type) -> set[type]:
|
|
634
|
+
subclasses = set()
|
|
635
|
+
for subclass_class in geode_class.__subclasses__():
|
|
636
|
+
subclasses.add(subclass_class)
|
|
637
|
+
subclasses.update(get_all_subclasses(subclass_class))
|
|
638
|
+
return subclasses
|
|
639
|
+
|
|
640
|
+
# Extract all related Geode classes (parents and children)
|
|
641
|
+
base_classes = get_all_bases(target_class)
|
|
642
|
+
subclass_classes = get_all_subclasses(target_class)
|
|
643
|
+
|
|
644
|
+
# Filter GeodeObjectType to only include registered related objects, excluding target
|
|
645
|
+
parents = []
|
|
646
|
+
children = []
|
|
647
|
+
for geode_object_type_str, geode_class in geode_objects.items():
|
|
648
|
+
if geode_class == target_class:
|
|
649
|
+
continue
|
|
650
|
+
if geode_class in base_classes:
|
|
651
|
+
parents.append(geode_object_type_str)
|
|
652
|
+
if geode_class in subclass_classes:
|
|
653
|
+
children.append(geode_object_type_str)
|
|
654
|
+
|
|
655
|
+
return flask.make_response({"parents": parents, "children": children}, 200)
|
|
@@ -12,6 +12,7 @@ from .import_project import *
|
|
|
12
12
|
from .import_extension import *
|
|
13
13
|
from .geographic_coordinate_systems import *
|
|
14
14
|
from .geode_objects_and_output_extensions import *
|
|
15
|
+
from .geode_object_inheritance import *
|
|
15
16
|
from .export_project import *
|
|
16
17
|
from .edge_attribute_names import *
|
|
17
18
|
from .cell_attribute_names import *
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"route": "/geode_object_inheritance",
|
|
3
|
+
"methods": [
|
|
4
|
+
"POST"
|
|
5
|
+
],
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"geode_object_type": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"minLength": 1
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"required": [
|
|
14
|
+
"geode_object_type"
|
|
15
|
+
],
|
|
16
|
+
"additionalProperties": false
|
|
17
|
+
}
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/utils_functions.py
RENAMED
|
@@ -212,9 +212,6 @@ def save_all_viewables_and_return_info(
|
|
|
212
212
|
data.viewable_file = os.path.basename(viewable_path)
|
|
213
213
|
data.light_viewable_file = os.path.basename(light_path)
|
|
214
214
|
|
|
215
|
-
if not data.input_file:
|
|
216
|
-
data.input_file = data.native_file
|
|
217
|
-
|
|
218
215
|
assert data.native_file is not None
|
|
219
216
|
assert data.viewable_file is not None
|
|
220
217
|
assert data.light_viewable_file is not None
|
|
@@ -226,8 +223,6 @@ def save_all_viewables_and_return_info(
|
|
|
226
223
|
"viewer_type": data.viewer_object,
|
|
227
224
|
"binary_light_viewable": binary_light_viewable.decode("utf-8"),
|
|
228
225
|
"geode_object_type": data.geode_object,
|
|
229
|
-
"input_file": data.input_file or "",
|
|
230
|
-
"additional_files": data.additional_files or [],
|
|
231
226
|
}
|
|
232
227
|
|
|
233
228
|
|
|
@@ -251,36 +246,9 @@ def generate_native_viewable_and_light_viewable_from_file(
|
|
|
251
246
|
geode_object=geode_object_type,
|
|
252
247
|
viewer_object=generic_geode_object.viewer_type(),
|
|
253
248
|
viewer_elements_type=generic_geode_object.viewer_elements_type(),
|
|
254
|
-
input_file=input_file,
|
|
255
249
|
)
|
|
256
|
-
|
|
257
250
|
data_path = create_data_folder_from_id(data.id)
|
|
258
|
-
|
|
259
251
|
full_input_filename = geode_functions.upload_file_path(input_file)
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
)
|
|
263
|
-
shutil.copy2(full_input_filename, copied_full_path)
|
|
264
|
-
|
|
265
|
-
additional_files_copied: list[str] = []
|
|
266
|
-
additional = generic_geode_object.additional_files(full_input_filename)
|
|
267
|
-
for additional_file in additional.mandatory_files + additional.optional_files:
|
|
268
|
-
if additional_file.is_missing:
|
|
269
|
-
continue
|
|
270
|
-
source_path = os.path.join(
|
|
271
|
-
os.path.dirname(full_input_filename), additional_file.filename
|
|
272
|
-
)
|
|
273
|
-
if not os.path.exists(source_path):
|
|
274
|
-
continue
|
|
275
|
-
dest_path = os.path.join(data_path, additional_file.filename)
|
|
276
|
-
os.makedirs(os.path.dirname(dest_path), exist_ok=True)
|
|
277
|
-
shutil.copy2(source_path, dest_path)
|
|
278
|
-
additional_files_copied.append(additional_file.filename)
|
|
279
|
-
|
|
280
|
-
geode_object = generic_geode_object.load(copied_full_path)
|
|
281
|
-
data.additional_files = additional_files_copied
|
|
282
|
-
return save_all_viewables_and_return_info(
|
|
283
|
-
geode_object,
|
|
284
|
-
data,
|
|
285
|
-
data_path,
|
|
286
|
-
)
|
|
252
|
+
geode_object = generic_geode_object.load(full_input_filename)
|
|
253
|
+
geode_object.builder().set_name(input_file)
|
|
254
|
+
return save_all_viewables_and_return_info(geode_object, data, data_path)
|
|
@@ -77,18 +77,14 @@ def test_export_project_route(client: FlaskClient, tmp_path: Path) -> None:
|
|
|
77
77
|
geode_object="BRep",
|
|
78
78
|
viewer_object="BRep",
|
|
79
79
|
viewer_elements_type="default",
|
|
80
|
-
|
|
81
|
-
native_file="test_native.txt",
|
|
82
|
-
additional_files=[],
|
|
80
|
+
native_file="native.txt",
|
|
83
81
|
)
|
|
84
82
|
data2 = Data(
|
|
85
83
|
id="test_data_2",
|
|
86
84
|
geode_object="Section",
|
|
87
85
|
viewer_object="Section",
|
|
88
86
|
viewer_elements_type="default",
|
|
89
|
-
|
|
90
|
-
native_file="test_native2.txt",
|
|
91
|
-
additional_files=[],
|
|
87
|
+
native_file="native.txt",
|
|
92
88
|
)
|
|
93
89
|
session.add(data1)
|
|
94
90
|
session.add(data2)
|
|
@@ -96,13 +92,13 @@ def test_export_project_route(client: FlaskClient, tmp_path: Path) -> None:
|
|
|
96
92
|
|
|
97
93
|
data1_dir = os.path.join(project_folder, "test_data_1")
|
|
98
94
|
os.makedirs(data1_dir, exist_ok=True)
|
|
99
|
-
with open(os.path.join(data1_dir, "
|
|
95
|
+
with open(os.path.join(data1_dir, "native.txt"), "w") as f:
|
|
100
96
|
f.write("native file content")
|
|
101
97
|
|
|
102
98
|
data2_dir = os.path.join(project_folder, "test_data_2")
|
|
103
99
|
os.makedirs(data2_dir, exist_ok=True)
|
|
104
|
-
with open(os.path.join(data2_dir, "
|
|
105
|
-
f.write("
|
|
100
|
+
with open(os.path.join(data2_dir, "native.txt"), "w") as f:
|
|
101
|
+
f.write("native file content")
|
|
106
102
|
|
|
107
103
|
response = client.post(route, json={"snapshot": snapshot, "filename": filename})
|
|
108
104
|
assert response.status_code == 200
|
|
@@ -119,8 +115,8 @@ def test_export_project_route(client: FlaskClient, tmp_path: Path) -> None:
|
|
|
119
115
|
parsed = json.loads(zip_file.read("snapshot.json").decode("utf-8"))
|
|
120
116
|
assert parsed == snapshot
|
|
121
117
|
assert "project.db" in names
|
|
122
|
-
assert "test_data_1/
|
|
123
|
-
assert "test_data_2/
|
|
118
|
+
assert "test_data_1/native.txt" in names
|
|
119
|
+
assert "test_data_2/native.txt" in names
|
|
124
120
|
|
|
125
121
|
response.close()
|
|
126
122
|
|
|
@@ -147,7 +143,7 @@ def test_import_project_route(client: FlaskClient, tmp_path: Path) -> None:
|
|
|
147
143
|
conn = sqlite3.connect(str(temp_db))
|
|
148
144
|
conn.execute(
|
|
149
145
|
"CREATE TABLE datas (id TEXT PRIMARY KEY, geode_object TEXT, viewer_object TEXT, viewer_elements_type TEXT, native_file TEXT, "
|
|
150
|
-
"viewable_file TEXT, light_viewable_file TEXT
|
|
146
|
+
"viewable_file TEXT, light_viewable_file TEXT)"
|
|
151
147
|
)
|
|
152
148
|
conn.commit()
|
|
153
149
|
conn.close()
|
|
@@ -205,7 +205,6 @@ def test_texture_coordinates(client: FlaskClient, test_id: str) -> None:
|
|
|
205
205
|
geode_object=GeodePolygonalSurface3D.geode_object_type(),
|
|
206
206
|
viewer_object=GeodePolygonalSurface3D.viewer_type(),
|
|
207
207
|
viewer_elements_type=GeodePolygonalSurface3D.viewer_elements_type(),
|
|
208
|
-
input_file=file,
|
|
209
208
|
)
|
|
210
209
|
data.native_file = file
|
|
211
210
|
session = get_session()
|
|
@@ -234,7 +233,6 @@ def test_vertex_attribute_names(client: FlaskClient, test_id: str) -> None:
|
|
|
234
233
|
geode_object=GeodePolygonalSurface3D.geode_object_type(),
|
|
235
234
|
viewer_object=GeodePolygonalSurface3D.viewer_type(),
|
|
236
235
|
viewer_elements_type=GeodePolygonalSurface3D.viewer_elements_type(),
|
|
237
|
-
input_file=file,
|
|
238
236
|
)
|
|
239
237
|
data.native_file = file
|
|
240
238
|
session = get_session()
|
|
@@ -263,7 +261,6 @@ def test_cell_attribute_names(client: FlaskClient, test_id: str) -> None:
|
|
|
263
261
|
geode_object=GeodeRegularGrid2D.geode_object_type(),
|
|
264
262
|
viewer_object=GeodeRegularGrid2D.viewer_type(),
|
|
265
263
|
viewer_elements_type=GeodeRegularGrid2D.viewer_elements_type(),
|
|
266
|
-
input_file=file,
|
|
267
264
|
)
|
|
268
265
|
data.native_file = file
|
|
269
266
|
session = get_session()
|
|
@@ -292,7 +289,6 @@ def test_polygon_attribute_names(client: FlaskClient, test_id: str) -> None:
|
|
|
292
289
|
geode_object=GeodePolygonalSurface3D.geode_object_type(),
|
|
293
290
|
viewer_object=GeodePolygonalSurface3D.viewer_type(),
|
|
294
291
|
viewer_elements_type=GeodePolygonalSurface3D.viewer_elements_type(),
|
|
295
|
-
input_file=file,
|
|
296
292
|
)
|
|
297
293
|
data.native_file = file
|
|
298
294
|
session = get_session()
|
|
@@ -321,7 +317,6 @@ def test_polyhedron_attribute_names(client: FlaskClient, test_id: str) -> None:
|
|
|
321
317
|
geode_object=GeodePolyhedralSolid3D.geode_object_type(),
|
|
322
318
|
viewer_object=GeodePolyhedralSolid3D.viewer_type(),
|
|
323
319
|
viewer_elements_type=GeodePolyhedralSolid3D.viewer_elements_type(),
|
|
324
|
-
input_file=file,
|
|
325
320
|
)
|
|
326
321
|
data.native_file = file
|
|
327
322
|
session = get_session()
|
|
@@ -354,7 +349,6 @@ def test_edge_attribute_names(client: FlaskClient, test_id: str) -> None:
|
|
|
354
349
|
geode_object=GeodeEdgedCurve3D.geode_object_type(),
|
|
355
350
|
viewer_object=GeodeEdgedCurve3D.viewer_type(),
|
|
356
351
|
viewer_elements_type=GeodeEdgedCurve3D.viewer_elements_type(),
|
|
357
|
-
input_file=file,
|
|
358
352
|
)
|
|
359
353
|
data.native_file = file
|
|
360
354
|
session = get_session()
|
|
@@ -385,3 +379,48 @@ def test_database_uri_path(client: FlaskClient) -> None:
|
|
|
385
379
|
assert app.config["SQLALCHEMY_DATABASE_URI"] == expected_uri
|
|
386
380
|
|
|
387
381
|
assert os.path.exists(expected_db_path)
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
def test_geode_object_inheritance(client: FlaskClient) -> None:
|
|
385
|
+
route = "/opengeodeweb_back/geode_object_inheritance"
|
|
386
|
+
# Test BRep
|
|
387
|
+
response = client.post(route, json={"geode_object_type": "BRep"})
|
|
388
|
+
assert response.status_code == 200
|
|
389
|
+
json_data = response.get_json()
|
|
390
|
+
parents = json_data["parents"]
|
|
391
|
+
children = json_data["children"]
|
|
392
|
+
assert "BRep" not in parents
|
|
393
|
+
assert "BRep" not in children
|
|
394
|
+
# Descendants
|
|
395
|
+
assert "StructuralModel" in children
|
|
396
|
+
assert "ImplicitStructuralModel" in children
|
|
397
|
+
|
|
398
|
+
# Test CrossSection
|
|
399
|
+
response = client.post(route, json={"geode_object_type": "CrossSection"})
|
|
400
|
+
assert response.status_code == 200
|
|
401
|
+
json_data = response.get_json()
|
|
402
|
+
parents = json_data["parents"]
|
|
403
|
+
children = json_data["children"]
|
|
404
|
+
assert "CrossSection" not in parents
|
|
405
|
+
assert "CrossSection" not in children
|
|
406
|
+
# Parent
|
|
407
|
+
assert "Section" in parents
|
|
408
|
+
# Descendant
|
|
409
|
+
assert "ImplicitCrossSection" in children
|
|
410
|
+
|
|
411
|
+
# Test PolyhedralSolid3D
|
|
412
|
+
response = client.post(route, json={"geode_object_type": "PolyhedralSolid3D"})
|
|
413
|
+
assert response.status_code == 200
|
|
414
|
+
json_data = response.get_json()
|
|
415
|
+
parents = json_data["parents"]
|
|
416
|
+
children = json_data["children"]
|
|
417
|
+
assert "PolyhedralSolid3D" not in parents
|
|
418
|
+
assert "PolyhedralSolid3D" not in children
|
|
419
|
+
# Parent
|
|
420
|
+
assert "VertexSet" in parents
|
|
421
|
+
|
|
422
|
+
# Test all params
|
|
423
|
+
def get_full_data() -> test_utils.JsonData:
|
|
424
|
+
return {"geode_object_type": "BRep"}
|
|
425
|
+
|
|
426
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
|
@@ -105,15 +105,11 @@ def test_save_all_viewables_and_return_info(client: FlaskClient) -> None:
|
|
|
105
105
|
assert os.path.exists(expected_db_path)
|
|
106
106
|
|
|
107
107
|
geode_object = GeodeBRep.load(os.path.join(data_dir, "test.og_brep"))
|
|
108
|
-
input_file = "test.og_brep"
|
|
109
|
-
additional_files = ["additional_file.txt"]
|
|
110
108
|
|
|
111
109
|
data_entry = Data.create(
|
|
112
110
|
geode_object=geode_object.geode_object_type(),
|
|
113
111
|
viewer_object=geode_object.viewer_type(),
|
|
114
112
|
viewer_elements_type=geode_object.viewer_elements_type(),
|
|
115
|
-
input_file=input_file,
|
|
116
|
-
additional_files=additional_files,
|
|
117
113
|
)
|
|
118
114
|
data_path = utils_functions.create_data_folder_from_id(data_entry.id)
|
|
119
115
|
|
|
@@ -124,7 +120,7 @@ def test_save_all_viewables_and_return_info(client: FlaskClient) -> None:
|
|
|
124
120
|
assert isinstance(result, dict)
|
|
125
121
|
native_file = result["native_file"]
|
|
126
122
|
assert isinstance(native_file, str)
|
|
127
|
-
assert native_file
|
|
123
|
+
assert native_file == "native.og_brep"
|
|
128
124
|
viewable_file = result["viewable_file"]
|
|
129
125
|
assert isinstance(viewable_file, str)
|
|
130
126
|
assert viewable_file.endswith(".vtm")
|
|
@@ -134,15 +130,12 @@ def test_save_all_viewables_and_return_info(client: FlaskClient) -> None:
|
|
|
134
130
|
assert isinstance(result["viewer_type"], str)
|
|
135
131
|
assert isinstance(result["binary_light_viewable"], str)
|
|
136
132
|
assert result["geode_object_type"] == geode_object.geode_object_type()
|
|
137
|
-
assert result["input_file"] == input_file
|
|
138
133
|
|
|
139
134
|
db_entry = Data.get(result["id"])
|
|
140
135
|
assert db_entry is not None
|
|
141
136
|
assert db_entry.native_file == result["native_file"]
|
|
142
137
|
assert db_entry.viewable_file == result["viewable_file"]
|
|
143
138
|
assert db_entry.geode_object == geode_object.geode_object_type()
|
|
144
|
-
assert db_entry.input_file == input_file
|
|
145
|
-
assert db_entry.additional_files == additional_files
|
|
146
139
|
|
|
147
140
|
expected_data_path = os.path.join(app.config["DATA_FOLDER_PATH"], result["id"])
|
|
148
141
|
assert os.path.exists(expected_data_path)
|
|
@@ -152,13 +145,10 @@ def test_save_all_viewables_commits_to_db(client: FlaskClient) -> None:
|
|
|
152
145
|
app = client.application
|
|
153
146
|
with app.app_context():
|
|
154
147
|
geode_object = GeodeBRep.load(os.path.join(data_dir, "test.og_brep"))
|
|
155
|
-
input_file = "test.og_brep"
|
|
156
148
|
data_entry = Data.create(
|
|
157
149
|
geode_object=geode_object.geode_object_type(),
|
|
158
150
|
viewer_object=geode_object.viewer_type(),
|
|
159
151
|
viewer_elements_type=geode_object.viewer_elements_type(),
|
|
160
|
-
input_file=input_file,
|
|
161
|
-
additional_files=[],
|
|
162
152
|
)
|
|
163
153
|
data_path = utils_functions.create_data_folder_from_id(data_entry.id)
|
|
164
154
|
|
|
@@ -196,11 +186,8 @@ def test_generate_native_viewable_and_light_viewable_from_object(
|
|
|
196
186
|
assert isinstance(result["binary_light_viewable"], str)
|
|
197
187
|
assert result["binary_light_viewable"].startswith('<?xml version="1.0"?>')
|
|
198
188
|
|
|
199
|
-
assert result["input_file"] == result["native_file"]
|
|
200
|
-
|
|
201
189
|
data = Data.get(result["id"])
|
|
202
190
|
assert data is not None
|
|
203
|
-
assert data.input_file == data.native_file
|
|
204
191
|
assert data.light_viewable_file is not None
|
|
205
192
|
assert data.light_viewable_file.endswith(".vtp")
|
|
206
193
|
|
|
@@ -221,14 +208,13 @@ def test_generate_native_viewable_and_light_viewable_from_file(
|
|
|
221
208
|
|
|
222
209
|
assert isinstance(result, dict)
|
|
223
210
|
assert isinstance(result["native_file"], str)
|
|
224
|
-
assert result["native_file"]
|
|
211
|
+
assert result["native_file"] == "native.og_brep"
|
|
225
212
|
assert isinstance(result["viewable_file"], str)
|
|
226
213
|
assert result["viewable_file"].endswith(".vtm")
|
|
227
214
|
assert isinstance(result["id"], str)
|
|
228
215
|
assert re.match(r"[0-9a-f]{32}", result["id"])
|
|
229
216
|
assert isinstance(result["viewer_type"], str)
|
|
230
217
|
assert isinstance(result["binary_light_viewable"], str)
|
|
231
|
-
assert isinstance(result["input_file"], str)
|
|
232
218
|
|
|
233
219
|
|
|
234
220
|
def test_send_file_multiple_returns_zip(client: FlaskClient, tmp_path: Path) -> None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.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.2.0rc2 → opengeodeweb_back-6.3.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.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
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.0}/src/opengeodeweb_back/routes/schemas/kill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.2.0rc2 → opengeodeweb_back-6.3.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|