Skip to content

Commit beb66c7

Browse files
committed
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeodeWeb-Back into fix/data_folder
2 parents cf6b9d9 + 991335a commit beb66c7

File tree

5 files changed

+28
-28
lines changed

5 files changed

+28
-28
lines changed

requirements.new

Whitespace-only changes.

src/opengeodeweb_back/app.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from opengeodeweb_back import utils_functions, app_config
1515
from opengeodeweb_back.routes import blueprint_routes
1616
from opengeodeweb_back.routes.models import blueprint_models
17-
from opengeodeweb_microservice.database.connection import init_database
17+
from opengeodeweb_microservice.database import connection
1818

1919

2020
""" Global config """
@@ -39,6 +39,16 @@
3939
)
4040

4141

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+
4252
app.register_blueprint(
4353
blueprint_routes.routes,
4454
url_prefix="/opengeodeweb_back",
@@ -146,7 +156,7 @@ def run_server() -> None:
146156
app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{db_path}"
147157
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
148158

149-
init_database(db_path)
159+
connection.init_database(db_path)
150160
print(f"Database initialized at: {db_path}", flush=True)
151161

152162
app.run(debug=args.debug, host=args.host, port=args.port, ssl_context=SSL)

src/opengeodeweb_back/routes/blueprint_routes.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,6 @@
1616
routes = flask.Blueprint("routes", __name__, url_prefix="/opengeodeweb_back")
1717

1818

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-
3319
routes.register_blueprint(
3420
blueprint_models.routes,
3521
url_prefix=blueprint_models.routes.url_prefix,

src/opengeodeweb_back/utils_functions.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,28 @@ def update_last_request_time(current_app: flask.Flask) -> None:
4141
current_app.config.update(LAST_REQUEST_TIME=LAST_REQUEST_TIME)
4242

4343

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+
4455
def before_request(current_app: flask.Flask) -> None:
4556
increment_request_counter(current_app)
57+
flask.g.session = get_session()
4658

4759

48-
def teardown_request(current_app: flask.Flask) -> None:
60+
def teardown_request(
61+
current_app: flask.Flask, exception: BaseException | None = None
62+
) -> None:
4963
decrement_request_counter(current_app)
5064
update_last_request_time(current_app)
65+
terminate_session(exception)
5166

5267

5368
def kill_task(current_app: flask.Flask) -> None:
@@ -193,10 +208,6 @@ def save_all_viewables_and_return_info(
193208
data_entry.viewable_file_name = os.path.basename(saved_viewable_file_path)
194209
data_entry.light_viewable = os.path.basename(saved_light_viewable_file_path)
195210

196-
session = get_session()
197-
if session:
198-
session.commit()
199-
200211
return {
201212
"native_file_name": data_entry.native_file_name,
202213
"viewable_file_name": data_entry.viewable_file_name,

tests/test_utils_functions.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,6 @@ def test_save_all_viewables_commits_to_db(client):
158158
db_entry_before = Data.get(data_id)
159159
assert db_entry_before is not None
160160
assert db_entry_before.native_file_name == result["native_file_name"]
161-
session = get_session()
162-
session.rollback()
163-
db_entry_after = Data.get(data_id)
164-
assert (
165-
db_entry_after is not None
166-
), "database.session.commit() was not called - entry missing after rollback"
167-
assert db_entry_after.native_file_name == result["native_file_name"]
168161

169162

170163
def test_generate_native_viewable_and_light_viewable_from_object(client):

0 commit comments

Comments
 (0)