OpenGeodeWeb-Back 5.10.0rc17__tar.gz → 5.10.0rc19__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.

Potentially problematic release.


This version of OpenGeodeWeb-Back might be problematic. Click here for more details.

Files changed (40) hide show
  1. {opengeodeweb_back-5.10.0rc17/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.0rc19}/PKG-INFO +2 -2
  2. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/pyproject.toml +1 -1
  3. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/requirements.txt +1 -1
  4. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +2 -2
  5. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/OpenGeodeWeb_Back.egg-info/requires.txt +1 -1
  6. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/utils_functions.py +42 -32
  7. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/LICENSE +0 -0
  8. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/README.md +0 -0
  9. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/setup.cfg +0 -0
  10. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
  11. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
  12. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
  13. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/__init__.py +0 -0
  14. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/app_config.py +0 -0
  15. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/geode_functions.py +0 -0
  16. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/geode_objects.py +0 -0
  17. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/py.typed +0 -0
  18. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -0
  19. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
  20. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/models/schemas/mesh_components.json +0 -0
  21. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/models/schemas/vtm_component_indices.json +0 -0
  22. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
  23. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
  24. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
  25. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
  26. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
  27. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
  28. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
  29. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
  30. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
  31. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
  32. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
  33. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
  34. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
  35. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
  36. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/src/opengeodeweb_back/test_utils.py +0 -0
  37. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/tests/test_geode_functions.py +0 -0
  38. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/tests/test_models_routes.py +0 -0
  39. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/tests/test_routes.py +0 -0
  40. {opengeodeweb_back-5.10.0rc17 → opengeodeweb_back-5.10.0rc19}/tests/test_utils_functions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.10.0rc17
3
+ Version: 5.10.0rc19
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
@@ -15,7 +15,7 @@ Requires-Dist: asgiref==3.*,>=3.9.2
15
15
  Requires-Dist: blinker==1.*,>=1.9.0
16
16
  Requires-Dist: click==8.*,>=8.3.0
17
17
  Requires-Dist: fastjsonschema==2.*,>=2.21.1
18
- Requires-Dist: flask[async]==3.0.3
18
+ Requires-Dist: flask[async]==3.*,>=3.0.3
19
19
  Requires-Dist: flask-cors==6.*,>=6.0.1
20
20
  Requires-Dist: flask-sqlalchemy==3.*,>=3.1.1
21
21
  Requires-Dist: geode-common==33.11.0
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "OpenGeodeWeb-Back"
8
- version = "5.10.0-rc.17"
8
+ version = "5.10.0-rc.19"
9
9
  dynamic = ["dependencies"]
10
10
  authors = [{ name = "Geode-solutions", email = "team-web@geode-solutions.com" }]
11
11
  description = "OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem"
@@ -12,7 +12,7 @@ click==8.*,>=8.3.0
12
12
  # via flask
13
13
  fastjsonschema==2.*,>=2.21.1
14
14
  # via opengeodeweb-microservice
15
- flask[async]==3.0.3
15
+ flask[async]==3.*,>=3.0.3
16
16
  # via
17
17
  # -r requirements.in
18
18
  # flask
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.10.0rc17
3
+ Version: 5.10.0rc19
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
@@ -15,7 +15,7 @@ Requires-Dist: asgiref==3.*,>=3.9.2
15
15
  Requires-Dist: blinker==1.*,>=1.9.0
16
16
  Requires-Dist: click==8.*,>=8.3.0
17
17
  Requires-Dist: fastjsonschema==2.*,>=2.21.1
18
- Requires-Dist: flask[async]==3.0.3
18
+ Requires-Dist: flask[async]==3.*,>=3.0.3
19
19
  Requires-Dist: flask-cors==6.*,>=6.0.1
20
20
  Requires-Dist: flask-sqlalchemy==3.*,>=3.1.1
21
21
  Requires-Dist: geode-common==33.11.0
@@ -2,7 +2,7 @@ asgiref==3.*,>=3.9.2
2
2
  blinker==1.*,>=1.9.0
3
3
  click==8.*,>=8.3.0
4
4
  fastjsonschema==2.*,>=2.21.1
5
- flask[async]==3.0.3
5
+ flask[async]==3.*,>=3.0.3
6
6
  flask-cors==6.*,>=6.0.1
7
7
  flask-sqlalchemy==3.*,>=3.1.1
8
8
  geode-common==33.11.0
@@ -5,6 +5,7 @@ import time
5
5
  import zipfile
6
6
  from collections.abc import Callable
7
7
  from typing import Any
8
+ from concurrent.futures import ThreadPoolExecutor
8
9
 
9
10
  # Third party imports
10
11
  import flask
@@ -175,38 +176,47 @@ def save_all_viewables_and_return_info(
175
176
  additional_files=additional_files,
176
177
  )
177
178
  data_path = create_data_folder_from_id(data_entry.id)
178
- saved_native_file_path = geode_functions.save(
179
- geode_object,
180
- data,
181
- data_path,
182
- "native." + data.native_extension(),
183
- )
184
- saved_viewable_file_path = geode_functions.save_viewable(
185
- geode_object, data, data_path, "viewable"
186
- )
187
- saved_light_viewable_file_path = geode_functions.save_light_viewable(
188
- geode_object, data, data_path, "light_viewable"
189
- )
190
- with open(saved_light_viewable_file_path, "rb") as f:
191
- binary_light_viewable = f.read()
192
- data_entry.native_file_name = os.path.basename(saved_native_file_path[0])
193
- data_entry.viewable_file_name = os.path.basename(saved_viewable_file_path)
194
- data_entry.light_viewable = os.path.basename(saved_light_viewable_file_path)
195
-
196
- session = get_session()
197
- if session:
198
- session.commit()
199
-
200
- return {
201
- "native_file_name": data_entry.native_file_name,
202
- "viewable_file_name": data_entry.viewable_file_name,
203
- "id": data_entry.id,
204
- "object_type": geode_functions.get_object_type(geode_object),
205
- "binary_light_viewable": binary_light_viewable.decode("utf-8"),
206
- "geode_object": data_entry.geode_object,
207
- "input_files": data_entry.input_file,
208
- "additional_files": data_entry.additional_files,
209
- }
179
+ with ThreadPoolExecutor() as executor:
180
+ native_future = executor.submit(
181
+ geode_functions.save,
182
+ geode_object,
183
+ data,
184
+ data_path,
185
+ "native." + data.native_extension(),
186
+ )
187
+ viewable_future = executor.submit(
188
+ geode_functions.save_viewable, geode_object, data, data_path, "viewable"
189
+ )
190
+ light_viewable_future = executor.submit(
191
+ geode_functions.save_light_viewable,
192
+ geode_object,
193
+ data,
194
+ data_path,
195
+ "light_viewable",
196
+ )
197
+ saved_light_viewable_file_path = light_viewable_future.result()
198
+ with open(saved_light_viewable_file_path, "rb") as f:
199
+ binary_light_viewable = f.read()
200
+ saved_native_file_path = native_future.result()
201
+ saved_viewable_file_path = viewable_future.result()
202
+ data_entry.native_file_name = os.path.basename(saved_native_file_path[0])
203
+ data_entry.viewable_file_name = os.path.basename(saved_viewable_file_path)
204
+ data_entry.light_viewable = os.path.basename(saved_light_viewable_file_path)
205
+
206
+ session = get_session()
207
+ if session:
208
+ session.commit()
209
+
210
+ return {
211
+ "native_file_name": data_entry.native_file_name,
212
+ "viewable_file_name": data_entry.viewable_file_name,
213
+ "id": data_entry.id,
214
+ "object_type": geode_functions.get_object_type(geode_object),
215
+ "binary_light_viewable": binary_light_viewable.decode("utf-8"),
216
+ "geode_object": data_entry.geode_object,
217
+ "input_files": data_entry.input_file,
218
+ "additional_files": data_entry.additional_files,
219
+ }
210
220
 
211
221
 
212
222
  def generate_native_viewable_and_light_viewable_from_object(