OpenGeodeWeb-Back 5.10.4rc2__tar.gz → 5.10.5rc1__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 (43) hide show
  1. {opengeodeweb_back-5.10.4rc2/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.5rc1}/PKG-INFO +2 -2
  2. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/pyproject.toml +1 -1
  3. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/requirements.txt +1 -1
  4. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +2 -2
  5. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/requires.txt +1 -1
  6. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/utils_functions.py +23 -25
  7. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/tests/test_models_routes.py +1 -0
  8. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/tests/test_routes.py +20 -4
  9. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/tests/test_utils_functions.py +19 -2
  10. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/LICENSE +0 -0
  11. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/README.md +0 -0
  12. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/setup.cfg +0 -0
  13. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
  14. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
  15. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
  16. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
  17. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/__init__.py +0 -0
  18. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/app.py +0 -0
  19. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/app_config.py +0 -0
  20. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/geode_functions.py +0 -0
  21. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/geode_objects.py +0 -0
  22. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/py.typed +0 -0
  23. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -0
  24. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
  25. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/models/schemas/mesh_components.json +0 -0
  26. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/models/schemas/vtm_component_indices.json +0 -0
  27. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
  28. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
  29. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
  30. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
  31. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
  32. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
  33. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
  34. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
  35. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
  36. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
  37. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
  38. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
  39. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
  40. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
  41. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
  42. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/test_utils.py +0 -0
  43. {opengeodeweb_back-5.10.4rc2 → opengeodeweb_back-5.10.5rc1}/tests/test_geode_functions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.10.4rc2
3
+ Version: 5.10.5rc1
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.0
27
27
  Requires-Dist: opengeode-inspector==6.8.1
28
28
  Requires-Dist: opengeode-io==7.4.0
29
29
  Requires-Dist: werkzeug==3.1.2
30
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.4
30
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.5rc1
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 = "5.10.4-rc.2"
7
+ version = "5.10.5-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"
@@ -60,4 +60,4 @@ werkzeug==3.1.2
60
60
  # flask
61
61
  # flask-cors
62
62
 
63
- opengeodeweb-microservice==1.*,>=1.0.4
63
+ opengeodeweb-microservice==1.*,>=1.0.5rc1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.10.4rc2
3
+ Version: 5.10.5rc1
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.0
27
27
  Requires-Dist: opengeode-inspector==6.8.1
28
28
  Requires-Dist: opengeode-io==7.4.0
29
29
  Requires-Dist: werkzeug==3.1.2
30
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.4
30
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.5rc1
31
31
  Dynamic: license-file
32
32
 
33
33
  <h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
@@ -14,4 +14,4 @@ opengeode-geosciencesio==5.8.0
14
14
  opengeode-inspector==6.8.1
15
15
  opengeode-io==7.4.0
16
16
  werkzeug==3.1.2
17
- opengeodeweb-microservice==1.*,>=1.0.4
17
+ opengeodeweb-microservice==1.*,>=1.0.5rc1
@@ -4,7 +4,6 @@ import threading
4
4
  import time
5
5
  import zipfile
6
6
  from collections.abc import Callable
7
- from typing import Any
8
7
  from concurrent.futures import ThreadPoolExecutor
9
8
 
10
9
  # Third party imports
@@ -112,7 +111,7 @@ def validate_request(request: flask.Request, schema: dict[str, str]) -> None:
112
111
 
113
112
 
114
113
  def set_interval(
115
- function: Callable[[Any], None], seconds: float, args: Any
114
+ function: Callable[[flask.Flask], None], seconds: float, args: flask.Flask
116
115
  ) -> threading.Timer:
117
116
  def function_wrapper() -> None:
118
117
  set_interval(function, seconds, args)
@@ -129,7 +128,7 @@ def extension_from_filename(filename: str) -> str:
129
128
 
130
129
 
131
130
  def send_file(
132
- upload_folder: str, saved_files: str, new_file_name: str
131
+ upload_folder: str, saved_files: list[str], new_file_name: str
133
132
  ) -> flask.Response:
134
133
  if len(saved_files) == 1:
135
134
  mimetype = "application/octet-binary"
@@ -177,19 +176,10 @@ def create_data_folder_from_id(data_id: str) -> str:
177
176
 
178
177
  def save_all_viewables_and_return_info(
179
178
  geode_object: str,
180
- data: Any,
181
- input_file: str | None = None,
182
- additional_files: list[str] | None = None,
183
- ) -> dict[str, Any]:
184
- if additional_files is None:
185
- additional_files = []
186
-
187
- data_entry = Data.create(
188
- geode_object=geode_object,
189
- input_file=input_file,
190
- additional_files=additional_files,
191
- )
192
- data_path = create_data_folder_from_id(data_entry.id)
179
+ data: object,
180
+ data_entry: Data,
181
+ data_path: str,
182
+ ) -> dict[str, str | list[str]]:
193
183
  with ThreadPoolExecutor() as executor:
194
184
  native_future = executor.submit(
195
185
  geode_functions.save,
@@ -230,22 +220,29 @@ def save_all_viewables_and_return_info(
230
220
 
231
221
 
232
222
  def generate_native_viewable_and_light_viewable_from_object(
233
- geode_object: str, data: Any
234
- ) -> dict[str, Any]:
235
- return save_all_viewables_and_return_info(geode_object, data, input_file="")
223
+ geode_object: str, data: object
224
+ ) -> dict[str, str | list[str]]:
225
+ data_entry = Data.create(
226
+ geode_object=geode_object,
227
+ viewer_object=geode_functions.get_object_type(geode_object),
228
+ input_file="",
229
+ additional_files=[],
230
+ )
231
+ data_path = create_data_folder_from_id(data_entry.id)
232
+ return save_all_viewables_and_return_info(geode_object, data, data_entry, data_path)
236
233
 
237
234
 
238
235
  def generate_native_viewable_and_light_viewable_from_file(
239
236
  geode_object: str, input_filename: str
240
- ) -> dict[str, Any]:
241
-
242
- temp_data_entry = Data.create(
237
+ ) -> dict[str, str | list[str]]:
238
+ data_entry = Data.create(
243
239
  geode_object=geode_object,
240
+ viewer_object=geode_functions.get_object_type(geode_object),
244
241
  input_file=input_filename,
245
242
  additional_files=[],
246
243
  )
247
244
 
248
- data_path = create_data_folder_from_id(temp_data_entry.id)
245
+ data_path = create_data_folder_from_id(data_entry.id)
249
246
 
250
247
  full_input_filename = geode_functions.upload_file_path(input_filename)
251
248
  copied_full_path = os.path.join(
@@ -270,9 +267,10 @@ def generate_native_viewable_and_light_viewable_from_file(
270
267
 
271
268
  data = geode_functions.load(geode_object, copied_full_path)
272
269
 
270
+ data_entry.additional_files = additional_files_copied
273
271
  return save_all_viewables_and_return_info(
274
272
  geode_object,
275
273
  data,
276
- input_file=input_filename,
277
- additional_files=additional_files_copied,
274
+ data_entry,
275
+ data_path,
278
276
  )
@@ -35,6 +35,7 @@ def test_extract_brep_uuids(client, test_id):
35
35
  with client.application.app_context():
36
36
  data_entry = Data.create(
37
37
  geode_object="BRep",
38
+ viewer_object=geode_functions.get_object_type("BRep"),
38
39
  input_file=brep_filename,
39
40
  )
40
41
  data_entry.native_file_name = brep_filename
@@ -171,7 +171,11 @@ def test_save_viewable_file(client):
171
171
 
172
172
  def test_texture_coordinates(client, test_id):
173
173
  with client.application.app_context():
174
- data = Data.create(geode_object="PolygonalSurface3D", input_file="hat.vtp")
174
+ data = Data.create(
175
+ geode_object="PolygonalSurface3D",
176
+ viewer_object=geode_functions.get_object_type("PolygonalSurface3D"),
177
+ input_file="hat.vtp",
178
+ )
175
179
  data.native_file_name = "hat.vtp"
176
180
  session = get_session()
177
181
  if session:
@@ -195,7 +199,11 @@ def test_vertex_attribute_names(client, test_id):
195
199
  route = f"/opengeodeweb_back/vertex_attribute_names"
196
200
 
197
201
  with client.application.app_context():
198
- data = Data.create(geode_object="PolygonalSurface3D", input_file="test.vtp")
202
+ data = Data.create(
203
+ geode_object="PolygonalSurface3D",
204
+ viewer_object=geode_functions.get_object_type("PolygonalSurface3D"),
205
+ input_file="test.vtp",
206
+ )
199
207
  data.native_file_name = "test.vtp"
200
208
  session = get_session()
201
209
  if session:
@@ -217,7 +225,11 @@ def test_polygon_attribute_names(client, test_id):
217
225
  route = f"/opengeodeweb_back/polygon_attribute_names"
218
226
 
219
227
  with client.application.app_context():
220
- data = Data.create(geode_object="PolygonalSurface3D", input_file="test.vtp")
228
+ data = Data.create(
229
+ geode_object="PolygonalSurface3D",
230
+ viewer_object=geode_functions.get_object_type("PolygonalSurface3D"),
231
+ input_file="test.vtp",
232
+ )
221
233
  data.native_file_name = "test.vtp"
222
234
  session = get_session()
223
235
  if session:
@@ -239,7 +251,11 @@ def test_polyhedron_attribute_names(client, test_id):
239
251
  route = f"/opengeodeweb_back/polyhedron_attribute_names"
240
252
 
241
253
  with client.application.app_context():
242
- data = Data.create(geode_object="PolyhedralSolid3D", input_file="test.vtu")
254
+ data = Data.create(
255
+ geode_object="PolyhedralSolid3D",
256
+ viewer_object=geode_functions.get_object_type("PolyhedralSolid3D"),
257
+ input_file="test.vtu",
258
+ )
243
259
  data.native_file_name = "test.vtu"
244
260
  session = get_session()
245
261
  if session:
@@ -103,8 +103,16 @@ def test_save_all_viewables_and_return_info(client):
103
103
  input_file = "test.og_brep"
104
104
  additional_files = ["additional_file.txt"]
105
105
 
106
+ data_entry = Data.create(
107
+ geode_object=geode_object,
108
+ viewer_object=geode_functions.get_object_type(geode_object),
109
+ input_file=input_file,
110
+ additional_files=additional_files,
111
+ )
112
+ data_path = utils_functions.create_data_folder_from_id(data_entry.id)
113
+
106
114
  result = utils_functions.save_all_viewables_and_return_info(
107
- geode_object, data, input_file, additional_files
115
+ geode_object, data, data_entry, data_path
108
116
  )
109
117
 
110
118
  assert isinstance(result, dict)
@@ -136,8 +144,17 @@ def test_save_all_viewables_commits_to_db(client):
136
144
  geode_object = "BRep"
137
145
  data = geode_functions.load(geode_object, "./tests/data/test.og_brep")
138
146
  input_file = "test.og_brep"
147
+
148
+ data_entry = Data.create(
149
+ geode_object=geode_object,
150
+ viewer_object=geode_functions.get_object_type(geode_object),
151
+ input_file=input_file,
152
+ additional_files=[],
153
+ )
154
+ data_path = utils_functions.create_data_folder_from_id(data_entry.id)
155
+
139
156
  result = utils_functions.save_all_viewables_and_return_info(
140
- geode_object, data, input_file
157
+ geode_object, data, data_entry, data_path
141
158
  )
142
159
  data_id = result["id"]
143
160
  db_entry_before = Data.get(data_id)