OpenGeodeWeb-Back 6.13.0rc1__tar.gz → 6.13.0rc2__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.13.0rc1 → opengeodeweb_back-6.13.0rc2}/PKG-INFO +1 -1
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/pyproject.toml +1 -1
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/OpenGeodeWeb_Back.egg-info/PKG-INFO +1 -1
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/blueprint_routes.py +19 -6
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/tests/test_routes.py +40 -7
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/LICENSE +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/README.md +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/requirements.txt +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/setup.cfg +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/OpenGeodeWeb_Back.egg-info/requires.txt +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/app.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_functions.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/__init__.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_brep.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_cross_section.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_edged_curve2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_edged_curve3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_graph.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_grid2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_grid3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_horizon_stack3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_hybrid_solid3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_implicit_cross_section.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_implicit_structural_model.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_mesh.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_model.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_object.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_point_set2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_point_set3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_polyhedral_solid3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_raster_image2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_raster_image3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_regular_grid2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_regular_grid3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_section.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_solid_mesh3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_structural_model.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_surface_mesh2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_surface_mesh3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_tetrahedral_solid3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface2d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface3d.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/geode_objects/geode_vertex_set.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/py.typed +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/blueprint_create.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/edged_curve.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/edged_curve.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/point_set.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/point_set.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/polygonal_surface.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/create/schemas/polygonal_surface.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/__init__.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/allowed_files.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/allowed_objects.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/export_project.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/export_project.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/geode_object_inheritance.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/geode_object_inheritance.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/import_project.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/import_project.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/kill.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/missing_files.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_edge_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_edge_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_polygon_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_polygon_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_polyhedron_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_vertex_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/model_component_vertex_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/ping.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/save_viewable_file.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/texture_coordinates.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/upload_file.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/validate.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/validate.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/test_utils.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/utils_functions.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/tests/test_create_routes.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/tests/test_geode_functions.py +0 -0
- {opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/tests/test_utils_functions.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Back
|
|
3
|
-
Version: 6.13.
|
|
3
|
+
Version: 6.13.0rc2
|
|
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
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "OpenGeodeWeb-Back"
|
|
7
|
-
version = "6.13.0-rc.
|
|
7
|
+
version = "6.13.0-rc.2"
|
|
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.13.0rc1 → opengeodeweb_back-6.13.0rc2}/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.13.
|
|
3
|
+
Version: 6.13.0rc2
|
|
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
|
|
@@ -73,13 +73,26 @@ def upload_file() -> flask.Response:
|
|
|
73
73
|
if not os.path.exists(UPLOAD_FOLDER_PATH):
|
|
74
74
|
os.makedirs(UPLOAD_FOLDER_PATH, exist_ok=True)
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
# Multipart callers (e.g. Vease) still send the file as a "file" form part;
|
|
77
|
+
# streaming callers PUT the raw bytes as the body with ?filename= as a query param.
|
|
78
|
+
if flask.request.mimetype == "multipart/form-data":
|
|
79
|
+
file = flask.request.files["file"]
|
|
80
|
+
if file.filename is None:
|
|
81
|
+
flask.abort(400, "Filename is required")
|
|
82
|
+
filename = werkzeug.utils.secure_filename(os.path.basename(file.filename))
|
|
83
|
+
file_path = os.path.join(UPLOAD_FOLDER_PATH, filename)
|
|
84
|
+
file.save(file_path)
|
|
85
|
+
else:
|
|
86
|
+
raw_filename = flask.request.args.get("filename")
|
|
87
|
+
if not raw_filename:
|
|
88
|
+
flask.abort(400, "Filename is required")
|
|
89
|
+
filename = werkzeug.utils.secure_filename(os.path.basename(raw_filename))
|
|
90
|
+
file_path = os.path.join(UPLOAD_FOLDER_PATH, filename)
|
|
91
|
+
chunk_size = 1024 * 1024
|
|
92
|
+
with open(file_path, "wb") as destination:
|
|
93
|
+
while chunk := flask.request.stream.read(chunk_size):
|
|
94
|
+
destination.write(chunk)
|
|
80
95
|
print(f"{filename=}", flush=True)
|
|
81
|
-
file_path = os.path.join(UPLOAD_FOLDER_PATH, filename)
|
|
82
|
-
file.save(file_path)
|
|
83
96
|
if filename.lower().endswith(".csv.json"):
|
|
84
97
|
shutil.copyfile(
|
|
85
98
|
file_path, os.path.join(UPLOAD_FOLDER_PATH, filename[:-9] + ".json")
|
|
@@ -79,6 +79,36 @@ def test_upload_file(client: FlaskClient, filename: str = "test.og_brep") -> Non
|
|
|
79
79
|
assert response.status_code == 201
|
|
80
80
|
|
|
81
81
|
|
|
82
|
+
def test_upload_file_raw(client: FlaskClient, filename: str = "test.og_brep") -> None:
|
|
83
|
+
file = os.path.join(data_dir, filename)
|
|
84
|
+
with open(file, "rb") as opened_file:
|
|
85
|
+
file_bytes = opened_file.read()
|
|
86
|
+
|
|
87
|
+
raw_filename = "raw_upload_test.og_brep"
|
|
88
|
+
response = client.put(
|
|
89
|
+
f"/opengeodeweb_back/upload_file?filename={raw_filename}",
|
|
90
|
+
data=file_bytes,
|
|
91
|
+
content_type="application/octet-stream",
|
|
92
|
+
)
|
|
93
|
+
assert response.status_code == 201
|
|
94
|
+
|
|
95
|
+
uploaded_path = os.path.join(data_dir, raw_filename)
|
|
96
|
+
try:
|
|
97
|
+
with open(uploaded_path, "rb") as uploaded_file:
|
|
98
|
+
assert uploaded_file.read() == file_bytes
|
|
99
|
+
finally:
|
|
100
|
+
os.remove(uploaded_path)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def test_upload_file_raw_missing_filename(client: FlaskClient) -> None:
|
|
104
|
+
response = client.put(
|
|
105
|
+
f"/opengeodeweb_back/upload_file",
|
|
106
|
+
data=b"some raw bytes",
|
|
107
|
+
content_type="application/octet-stream",
|
|
108
|
+
)
|
|
109
|
+
assert response.status_code == 400
|
|
110
|
+
|
|
111
|
+
|
|
82
112
|
def test_missing_files(client: FlaskClient) -> None:
|
|
83
113
|
route = f"/opengeodeweb_back/missing_files"
|
|
84
114
|
|
|
@@ -495,7 +525,7 @@ def test_model_components(client: FlaskClient) -> None:
|
|
|
495
525
|
assert isinstance(mesh_components, list)
|
|
496
526
|
assert len(mesh_components) > 0
|
|
497
527
|
for mesh_component in mesh_components:
|
|
498
|
-
assert isinstance(mesh_component,
|
|
528
|
+
assert isinstance(mesh_component, dict)
|
|
499
529
|
assert isinstance(mesh_component["geode_id"], str)
|
|
500
530
|
assert isinstance(mesh_component["viewer_id"], int)
|
|
501
531
|
assert isinstance(mesh_component["name"], str)
|
|
@@ -511,7 +541,7 @@ def test_model_components(client: FlaskClient) -> None:
|
|
|
511
541
|
collection_components = response.get_json()["collection_components"]
|
|
512
542
|
assert isinstance(collection_components, list)
|
|
513
543
|
for collection_component in collection_components:
|
|
514
|
-
assert isinstance(collection_component,
|
|
544
|
+
assert isinstance(collection_component, dict)
|
|
515
545
|
assert isinstance(collection_component["geode_id"], str)
|
|
516
546
|
assert isinstance(collection_component["name"], str)
|
|
517
547
|
assert isinstance(collection_component["items"], list)
|
|
@@ -659,15 +689,18 @@ def _load_brep_components(client: FlaskClient) -> tuple[str, dict[str, list[str]
|
|
|
659
689
|
response = test_save_viewable_file(client, "BRep", "cube.og_brep")
|
|
660
690
|
assert response.status_code == 200
|
|
661
691
|
model_id: str = response.get_json()["id"]
|
|
662
|
-
mesh_components: list[dict] = response.get_json()["mesh_components"]
|
|
692
|
+
mesh_components: list[dict[str, object]] = response.get_json()["mesh_components"]
|
|
663
693
|
by_type: dict[str, list[str]] = {}
|
|
664
|
-
for
|
|
665
|
-
component_type =
|
|
666
|
-
|
|
694
|
+
for mesh_component in mesh_components:
|
|
695
|
+
component_type = mesh_component["type"]
|
|
696
|
+
geode_id = mesh_component["geode_id"]
|
|
697
|
+
assert isinstance(component_type, str)
|
|
698
|
+
assert isinstance(geode_id, str)
|
|
699
|
+
by_type.setdefault(component_type, []).append(geode_id)
|
|
667
700
|
return model_id, by_type
|
|
668
701
|
|
|
669
702
|
|
|
670
|
-
def _assert_attributes_response(response) -> None:
|
|
703
|
+
def _assert_attributes_response(response: TestResponse) -> None:
|
|
671
704
|
assert response.status_code == 200
|
|
672
705
|
attributes = response.get_json()["attributes"]
|
|
673
706
|
assert isinstance(attributes, list)
|
|
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.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/app_config.py
RENAMED
|
File without changes
|
{opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/test_utils.py
RENAMED
|
File without changes
|
{opengeodeweb_back-6.13.0rc1 → opengeodeweb_back-6.13.0rc2}/src/opengeodeweb_back/utils_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|