OpenGeodeWeb-Back 5.10.4rc1__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.
- {opengeodeweb_back-5.10.4rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.5rc1}/PKG-INFO +2 -2
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/pyproject.toml +1 -1
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/requirements.txt +1 -1
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +2 -2
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/requires.txt +1 -1
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/app.py +12 -2
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -14
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/utils_functions.py +39 -36
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/tests/test_models_routes.py +1 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/tests/test_routes.py +20 -4
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/tests/test_utils_functions.py +19 -9
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/LICENSE +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/README.md +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/setup.cfg +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/geode_functions.py +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/geode_objects.py +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/py.typed +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/models/schemas/mesh_components.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/models/schemas/vtm_component_indices.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/test_utils.py +0 -0
- {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/tests/test_geode_functions.py +0 -0
{opengeodeweb_back-5.10.4rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.5rc1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Back
|
|
3
|
-
Version: 5.10.
|
|
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.
|
|
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.
|
|
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"
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1/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: 5.10.
|
|
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.
|
|
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,7 +14,7 @@ from werkzeug.exceptions import HTTPException
|
|
|
14
14
|
from opengeodeweb_back import utils_functions, app_config
|
|
15
15
|
from opengeodeweb_back.routes import blueprint_routes
|
|
16
16
|
from opengeodeweb_back.routes.models import blueprint_models
|
|
17
|
-
from opengeodeweb_microservice.database
|
|
17
|
+
from opengeodeweb_microservice.database import connection
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
""" Global config """
|
|
@@ -39,6 +39,16 @@ SECONDS_BETWEEN_SHUTDOWNS: float = float(
|
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
|
|
42
|
+
@app.before_request
|
|
43
|
+
def before_request() -> None:
|
|
44
|
+
utils_functions.before_request(flask.current_app)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@app.teardown_request
|
|
48
|
+
def teardown_request(exception: BaseException | None) -> None:
|
|
49
|
+
utils_functions.teardown_request(flask.current_app, exception)
|
|
50
|
+
|
|
51
|
+
|
|
42
52
|
app.register_blueprint(
|
|
43
53
|
blueprint_routes.routes,
|
|
44
54
|
url_prefix="/opengeodeweb_back",
|
|
@@ -146,7 +156,7 @@ def run_server() -> None:
|
|
|
146
156
|
app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{db_path}"
|
|
147
157
|
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
|
|
148
158
|
|
|
149
|
-
init_database(db_path)
|
|
159
|
+
connection.init_database(db_path)
|
|
150
160
|
print(f"Database initialized at: {db_path}", flush=True)
|
|
151
161
|
|
|
152
162
|
app.run(debug=args.debug, host=args.host, port=args.port, ssl_context=SSL)
|
|
@@ -16,20 +16,6 @@ from .models import blueprint_models
|
|
|
16
16
|
routes = flask.Blueprint("routes", __name__, url_prefix="/opengeodeweb_back")
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
@routes.before_request
|
|
20
|
-
def before_request():
|
|
21
|
-
if "ping" not in flask.request.path:
|
|
22
|
-
utils_functions.increment_request_counter(flask.current_app)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@routes.teardown_request
|
|
26
|
-
def teardown_request(exception):
|
|
27
|
-
|
|
28
|
-
if "ping" not in flask.request.path:
|
|
29
|
-
utils_functions.decrement_request_counter(flask.current_app)
|
|
30
|
-
utils_functions.update_last_request_time(flask.current_app)
|
|
31
|
-
|
|
32
|
-
|
|
33
19
|
routes.register_blueprint(
|
|
34
20
|
blueprint_models.routes,
|
|
35
21
|
url_prefix=blueprint_models.routes.url_prefix,
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/utils_functions.py
RENAMED
|
@@ -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
|
|
@@ -41,13 +40,28 @@ def update_last_request_time(current_app: flask.Flask) -> None:
|
|
|
41
40
|
current_app.config.update(LAST_REQUEST_TIME=LAST_REQUEST_TIME)
|
|
42
41
|
|
|
43
42
|
|
|
43
|
+
def terminate_session(exception: BaseException | None) -> None:
|
|
44
|
+
session = flask.g.pop("session", None)
|
|
45
|
+
if session is None:
|
|
46
|
+
return
|
|
47
|
+
if exception is None:
|
|
48
|
+
session.commit()
|
|
49
|
+
else:
|
|
50
|
+
session.rollback()
|
|
51
|
+
session.close()
|
|
52
|
+
|
|
53
|
+
|
|
44
54
|
def before_request(current_app: flask.Flask) -> None:
|
|
45
55
|
increment_request_counter(current_app)
|
|
56
|
+
flask.g.session = get_session()
|
|
46
57
|
|
|
47
58
|
|
|
48
|
-
def teardown_request(
|
|
59
|
+
def teardown_request(
|
|
60
|
+
current_app: flask.Flask, exception: BaseException | None = None
|
|
61
|
+
) -> None:
|
|
49
62
|
decrement_request_counter(current_app)
|
|
50
63
|
update_last_request_time(current_app)
|
|
64
|
+
terminate_session(exception)
|
|
51
65
|
|
|
52
66
|
|
|
53
67
|
def kill_task(current_app: flask.Flask) -> None:
|
|
@@ -97,7 +111,7 @@ def validate_request(request: flask.Request, schema: dict[str, str]) -> None:
|
|
|
97
111
|
|
|
98
112
|
|
|
99
113
|
def set_interval(
|
|
100
|
-
function: Callable[[
|
|
114
|
+
function: Callable[[flask.Flask], None], seconds: float, args: flask.Flask
|
|
101
115
|
) -> threading.Timer:
|
|
102
116
|
def function_wrapper() -> None:
|
|
103
117
|
set_interval(function, seconds, args)
|
|
@@ -114,7 +128,7 @@ def extension_from_filename(filename: str) -> str:
|
|
|
114
128
|
|
|
115
129
|
|
|
116
130
|
def send_file(
|
|
117
|
-
upload_folder: str, saved_files: str, new_file_name: str
|
|
131
|
+
upload_folder: str, saved_files: list[str], new_file_name: str
|
|
118
132
|
) -> flask.Response:
|
|
119
133
|
if len(saved_files) == 1:
|
|
120
134
|
mimetype = "application/octet-binary"
|
|
@@ -162,19 +176,10 @@ def create_data_folder_from_id(data_id: str) -> str:
|
|
|
162
176
|
|
|
163
177
|
def save_all_viewables_and_return_info(
|
|
164
178
|
geode_object: str,
|
|
165
|
-
data:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
) -> dict[str,
|
|
169
|
-
if additional_files is None:
|
|
170
|
-
additional_files = []
|
|
171
|
-
|
|
172
|
-
data_entry = Data.create(
|
|
173
|
-
geode_object=geode_object,
|
|
174
|
-
input_file=input_file,
|
|
175
|
-
additional_files=additional_files,
|
|
176
|
-
)
|
|
177
|
-
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]]:
|
|
178
183
|
with ThreadPoolExecutor() as executor:
|
|
179
184
|
native_future = executor.submit(
|
|
180
185
|
geode_functions.save,
|
|
@@ -202,10 +207,6 @@ def save_all_viewables_and_return_info(
|
|
|
202
207
|
data_entry.viewable_file_name = os.path.basename(saved_viewable_file_path)
|
|
203
208
|
data_entry.light_viewable = os.path.basename(saved_light_viewable_file_path)
|
|
204
209
|
|
|
205
|
-
session = get_session()
|
|
206
|
-
if session:
|
|
207
|
-
session.commit()
|
|
208
|
-
|
|
209
210
|
return {
|
|
210
211
|
"native_file_name": data_entry.native_file_name,
|
|
211
212
|
"viewable_file_name": data_entry.viewable_file_name,
|
|
@@ -219,23 +220,29 @@ def save_all_viewables_and_return_info(
|
|
|
219
220
|
|
|
220
221
|
|
|
221
222
|
def generate_native_viewable_and_light_viewable_from_object(
|
|
222
|
-
geode_object: str, data:
|
|
223
|
-
) -> dict[str,
|
|
224
|
-
|
|
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)
|
|
225
233
|
|
|
226
234
|
|
|
227
235
|
def generate_native_viewable_and_light_viewable_from_file(
|
|
228
236
|
geode_object: str, input_filename: str
|
|
229
|
-
) -> dict[str,
|
|
230
|
-
|
|
231
|
-
session = get_session()
|
|
232
|
-
temp_data_entry = Data.create(
|
|
237
|
+
) -> dict[str, str | list[str]]:
|
|
238
|
+
data_entry = Data.create(
|
|
233
239
|
geode_object=geode_object,
|
|
240
|
+
viewer_object=geode_functions.get_object_type(geode_object),
|
|
234
241
|
input_file=input_filename,
|
|
235
242
|
additional_files=[],
|
|
236
243
|
)
|
|
237
244
|
|
|
238
|
-
data_path = create_data_folder_from_id(
|
|
245
|
+
data_path = create_data_folder_from_id(data_entry.id)
|
|
239
246
|
|
|
240
247
|
full_input_filename = geode_functions.upload_file_path(input_filename)
|
|
241
248
|
copied_full_path = os.path.join(
|
|
@@ -260,14 +267,10 @@ def generate_native_viewable_and_light_viewable_from_file(
|
|
|
260
267
|
|
|
261
268
|
data = geode_functions.load(geode_object, copied_full_path)
|
|
262
269
|
|
|
263
|
-
|
|
264
|
-
session.delete(temp_data_entry)
|
|
265
|
-
session.flush()
|
|
266
|
-
session.commit()
|
|
267
|
-
|
|
270
|
+
data_entry.additional_files = additional_files_copied
|
|
268
271
|
return save_all_viewables_and_return_info(
|
|
269
272
|
geode_object,
|
|
270
273
|
data,
|
|
271
|
-
|
|
272
|
-
|
|
274
|
+
data_entry,
|
|
275
|
+
data_path,
|
|
273
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
|
115
|
+
geode_object, data, data_entry, data_path
|
|
108
116
|
)
|
|
109
117
|
|
|
110
118
|
assert isinstance(result, dict)
|
|
@@ -136,20 +144,22 @@ 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,
|
|
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)
|
|
144
161
|
assert db_entry_before is not None
|
|
145
162
|
assert db_entry_before.native_file_name == result["native_file_name"]
|
|
146
|
-
session = get_session()
|
|
147
|
-
session.rollback()
|
|
148
|
-
db_entry_after = Data.get(data_id)
|
|
149
|
-
assert (
|
|
150
|
-
db_entry_after is not None
|
|
151
|
-
), "database.session.commit() was not called - entry missing after rollback"
|
|
152
|
-
assert db_entry_after.native_file_name == result["native_file_name"]
|
|
153
163
|
|
|
154
164
|
|
|
155
165
|
def test_generate_native_viewable_and_light_viewable_from_object(client):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/__init__.py
RENAMED
|
File without changes
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/app_config.py
RENAMED
|
File without changes
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/geode_functions.py
RENAMED
|
File without changes
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/geode_objects.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
|
{opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.5rc1}/src/opengeodeweb_back/test_utils.py
RENAMED
|
File without changes
|
|
File without changes
|