Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed requirements.new
Empty file.
1 change: 0 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,3 @@ werkzeug==3.1.2
# flask
# flask-cors

opengeodeweb-microservice==1.*,>=1.0.4
14 changes: 12 additions & 2 deletions src/opengeodeweb_back/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from opengeodeweb_back import utils_functions, app_config
from opengeodeweb_back.routes import blueprint_routes
from opengeodeweb_back.routes.models import blueprint_models
from opengeodeweb_microservice.database.connection import init_database
from opengeodeweb_microservice.database import connection


""" Global config """
Expand All @@ -39,6 +39,16 @@
)


@app.before_request
def before_request() -> None:
utils_functions.before_request(flask.current_app)


@app.teardown_request
def teardown_request(exception: BaseException | None) -> None:
utils_functions.teardown_request(flask.current_app, exception)


app.register_blueprint(
blueprint_routes.routes,
url_prefix="/opengeodeweb_back",
Expand Down Expand Up @@ -146,7 +156,7 @@ def run_server() -> None:
app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{db_path}"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

init_database(db_path)
connection.init_database(db_path)
print(f"Database initialized at: {db_path}", flush=True)

app.run(debug=args.debug, host=args.host, port=args.port, ssl_context=SSL)
Expand Down
14 changes: 0 additions & 14 deletions src/opengeodeweb_back/routes/blueprint_routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,6 @@
routes = flask.Blueprint("routes", __name__, url_prefix="/opengeodeweb_back")


@routes.before_request
def before_request():
if "ping" not in flask.request.path:
utils_functions.increment_request_counter(flask.current_app)


@routes.teardown_request
def teardown_request(exception):

if "ping" not in flask.request.path:
utils_functions.decrement_request_counter(flask.current_app)
utils_functions.update_last_request_time(flask.current_app)


routes.register_blueprint(
blueprint_models.routes,
url_prefix=blueprint_models.routes.url_prefix,
Expand Down
27 changes: 16 additions & 11 deletions src/opengeodeweb_back/utils_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,28 @@ def update_last_request_time(current_app: flask.Flask) -> None:
current_app.config.update(LAST_REQUEST_TIME=LAST_REQUEST_TIME)


def terminate_session(exception: BaseException | None) -> None:
session = flask.g.pop("session", None)
if session is None:
return
if exception is None:
session.commit()
else:
session.rollback()
session.close()


def before_request(current_app: flask.Flask) -> None:
increment_request_counter(current_app)
flask.g.session = get_session()


def teardown_request(current_app: flask.Flask) -> None:
def teardown_request(
current_app: flask.Flask, exception: BaseException | None = None
) -> None:
decrement_request_counter(current_app)
update_last_request_time(current_app)
terminate_session(exception)


def kill_task(current_app: flask.Flask) -> None:
Expand Down Expand Up @@ -202,10 +217,6 @@ def save_all_viewables_and_return_info(
data_entry.viewable_file_name = os.path.basename(saved_viewable_file_path)
data_entry.light_viewable = os.path.basename(saved_light_viewable_file_path)

session = get_session()
if session:
session.commit()

return {
"native_file_name": data_entry.native_file_name,
"viewable_file_name": data_entry.viewable_file_name,
Expand All @@ -228,7 +239,6 @@ def generate_native_viewable_and_light_viewable_from_file(
geode_object: str, input_filename: str
) -> dict[str, Any]:

session = get_session()
temp_data_entry = Data.create(
geode_object=geode_object,
input_file=input_filename,
Expand Down Expand Up @@ -260,11 +270,6 @@ def generate_native_viewable_and_light_viewable_from_file(

data = geode_functions.load(geode_object, copied_full_path)

if session:
session.delete(temp_data_entry)
session.flush()
session.commit()

return save_all_viewables_and_return_info(
geode_object,
data,
Expand Down
7 changes: 0 additions & 7 deletions tests/test_utils_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,13 +143,6 @@ def test_save_all_viewables_commits_to_db(client):
db_entry_before = Data.get(data_id)
assert db_entry_before is not None
assert db_entry_before.native_file_name == result["native_file_name"]
session = get_session()
session.rollback()
db_entry_after = Data.get(data_id)
assert (
db_entry_after is not None
), "database.session.commit() was not called - entry missing after rollback"
assert db_entry_after.native_file_name == result["native_file_name"]


def test_generate_native_viewable_and_light_viewable_from_object(client):
Expand Down