OpenGeodeWeb-Back 5.10.4rc1__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.

Files changed (43) hide show
  1. {opengeodeweb_back-5.10.4rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.10.4rc2}/PKG-INFO +1 -1
  2. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/pyproject.toml +1 -1
  3. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +1 -1
  4. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/app.py +12 -2
  5. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -14
  6. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/utils_functions.py +16 -11
  7. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/tests/test_utils_functions.py +0 -7
  8. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/LICENSE +0 -0
  9. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/README.md +0 -0
  10. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/requirements.txt +0 -0
  11. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/setup.cfg +0 -0
  12. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
  13. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
  14. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
  15. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/requires.txt +0 -0
  16. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
  17. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/__init__.py +0 -0
  18. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/app_config.py +0 -0
  19. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/geode_functions.py +0 -0
  20. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/geode_objects.py +0 -0
  21. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/py.typed +0 -0
  22. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
  23. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/models/schemas/mesh_components.json +0 -0
  24. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/models/schemas/vtm_component_indices.json +0 -0
  25. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
  26. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
  27. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
  28. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
  29. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
  30. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
  31. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
  32. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
  33. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
  34. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
  35. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
  36. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
  37. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
  38. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
  39. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
  40. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/src/opengeodeweb_back/test_utils.py +0 -0
  41. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/tests/test_geode_functions.py +0 -0
  42. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/tests/test_models_routes.py +0 -0
  43. {opengeodeweb_back-5.10.4rc1 → opengeodeweb_back-5.10.4rc2}/tests/test_routes.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.10.4rc1
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
@@ -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.1"
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"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.10.4rc1
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
@@ -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.connection import init_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(current_app: flask.Flask) -> None:
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,
@@ -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,
@@ -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):