OpenGeodeWeb-Back 5.10.3rc18__tar.gz → 5.10.4rc2__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.3rc18/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.4rc2}/PKG-INFO +2 -2
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/pyproject.toml +1 -1
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/requirements.txt +1 -1
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +2 -2
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/requires.txt +1 -1
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/app.py +12 -2
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -14
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/utils_functions.py +17 -12
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/tests/test_utils_functions.py +3 -10
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/LICENSE +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/README.md +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/setup.cfg +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/geode_functions.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/geode_objects.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/py.typed +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/models/schemas/mesh_components.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/models/schemas/vtm_component_indices.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/test_utils.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/tests/test_geode_functions.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/tests/test_models_routes.py +0 -0
- {opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/tests/test_routes.py +0 -0
{opengeodeweb_back-5.10.3rc18/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.4rc2}/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.4rc2
|
|
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.4
|
|
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.4-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-5.10.3rc18 → opengeodeweb_back-5.10.4rc2/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.4rc2
|
|
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.4
|
|
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,
|
|
@@ -41,13 +41,28 @@ def update_last_request_time(current_app: flask.Flask) -> None:
|
|
|
41
41
|
current_app.config.update(LAST_REQUEST_TIME=LAST_REQUEST_TIME)
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
def terminate_session(exception: BaseException | None) -> None:
|
|
45
|
+
session = flask.g.pop("session", None)
|
|
46
|
+
if session is None:
|
|
47
|
+
return
|
|
48
|
+
if exception is None:
|
|
49
|
+
session.commit()
|
|
50
|
+
else:
|
|
51
|
+
session.rollback()
|
|
52
|
+
session.close()
|
|
53
|
+
|
|
54
|
+
|
|
44
55
|
def before_request(current_app: flask.Flask) -> None:
|
|
45
56
|
increment_request_counter(current_app)
|
|
57
|
+
flask.g.session = get_session()
|
|
46
58
|
|
|
47
59
|
|
|
48
|
-
def teardown_request(
|
|
60
|
+
def teardown_request(
|
|
61
|
+
current_app: flask.Flask, exception: BaseException | None = None
|
|
62
|
+
) -> None:
|
|
49
63
|
decrement_request_counter(current_app)
|
|
50
64
|
update_last_request_time(current_app)
|
|
65
|
+
terminate_session(exception)
|
|
51
66
|
|
|
52
67
|
|
|
53
68
|
def kill_task(current_app: flask.Flask) -> None:
|
|
@@ -202,10 +217,6 @@ def save_all_viewables_and_return_info(
|
|
|
202
217
|
data_entry.viewable_file_name = os.path.basename(saved_viewable_file_path)
|
|
203
218
|
data_entry.light_viewable = os.path.basename(saved_light_viewable_file_path)
|
|
204
219
|
|
|
205
|
-
session = get_session()
|
|
206
|
-
if session:
|
|
207
|
-
session.commit()
|
|
208
|
-
|
|
209
220
|
return {
|
|
210
221
|
"native_file_name": data_entry.native_file_name,
|
|
211
222
|
"viewable_file_name": data_entry.viewable_file_name,
|
|
@@ -213,7 +224,7 @@ def save_all_viewables_and_return_info(
|
|
|
213
224
|
"object_type": geode_functions.get_object_type(geode_object),
|
|
214
225
|
"binary_light_viewable": binary_light_viewable.decode("utf-8"),
|
|
215
226
|
"geode_object": data_entry.geode_object,
|
|
216
|
-
"
|
|
227
|
+
"input_file": data_entry.input_file,
|
|
217
228
|
"additional_files": data_entry.additional_files,
|
|
218
229
|
}
|
|
219
230
|
|
|
@@ -228,7 +239,6 @@ def generate_native_viewable_and_light_viewable_from_file(
|
|
|
228
239
|
geode_object: str, input_filename: str
|
|
229
240
|
) -> dict[str, Any]:
|
|
230
241
|
|
|
231
|
-
session = get_session()
|
|
232
242
|
temp_data_entry = Data.create(
|
|
233
243
|
geode_object=geode_object,
|
|
234
244
|
input_file=input_filename,
|
|
@@ -260,11 +270,6 @@ def generate_native_viewable_and_light_viewable_from_file(
|
|
|
260
270
|
|
|
261
271
|
data = geode_functions.load(geode_object, copied_full_path)
|
|
262
272
|
|
|
263
|
-
if session:
|
|
264
|
-
session.delete(temp_data_entry)
|
|
265
|
-
session.flush()
|
|
266
|
-
session.commit()
|
|
267
|
-
|
|
268
273
|
return save_all_viewables_and_return_info(
|
|
269
274
|
geode_object,
|
|
270
275
|
data,
|
|
@@ -116,7 +116,7 @@ def test_save_all_viewables_and_return_info(client):
|
|
|
116
116
|
assert isinstance(result["object_type"], str)
|
|
117
117
|
assert isinstance(result["binary_light_viewable"], str)
|
|
118
118
|
assert result["geode_object"] == geode_object
|
|
119
|
-
assert result["
|
|
119
|
+
assert result["input_file"] == input_file
|
|
120
120
|
|
|
121
121
|
db_entry = Data.get(result["id"])
|
|
122
122
|
assert db_entry is not None
|
|
@@ -143,13 +143,6 @@ def test_save_all_viewables_commits_to_db(client):
|
|
|
143
143
|
db_entry_before = Data.get(data_id)
|
|
144
144
|
assert db_entry_before is not None
|
|
145
145
|
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
146
|
|
|
154
147
|
|
|
155
148
|
def test_generate_native_viewable_and_light_viewable_from_object(client):
|
|
@@ -173,7 +166,7 @@ def test_generate_native_viewable_and_light_viewable_from_object(client):
|
|
|
173
166
|
assert re.match(r"[0-9a-f]{32}", result["id"])
|
|
174
167
|
assert isinstance(result["object_type"], str)
|
|
175
168
|
assert isinstance(result["binary_light_viewable"], str)
|
|
176
|
-
assert result["
|
|
169
|
+
assert result["input_file"] == ""
|
|
177
170
|
|
|
178
171
|
|
|
179
172
|
def test_generate_native_viewable_and_light_viewable_from_file(client):
|
|
@@ -195,4 +188,4 @@ def test_generate_native_viewable_and_light_viewable_from_file(client):
|
|
|
195
188
|
assert re.match(r"[0-9a-f]{32}", result["id"])
|
|
196
189
|
assert isinstance(result["object_type"], str)
|
|
197
190
|
assert isinstance(result["binary_light_viewable"], str)
|
|
198
|
-
assert isinstance(result["
|
|
191
|
+
assert isinstance(result["input_file"], str)
|
|
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.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/__init__.py
RENAMED
|
File without changes
|
{opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/app_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{opengeodeweb_back-5.10.3rc18 → opengeodeweb_back-5.10.4rc2}/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.3rc18 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/test_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|