diff --git a/server/app/app.py b/server/app/app.py index 4dfd2a67..1330774e 100644 --- a/server/app/app.py +++ b/server/app/app.py @@ -1,5 +1,6 @@ import os import datetime +import logging from flask import Flask, redirect, current_app, make_response, render_template, abort from flask import Blueprint, request, send_from_directory @@ -40,8 +41,10 @@ def dataset_index(dataset=None): with cache_manager.data_adaptor(location, config) as data_adaptor: dataset_title = config.get_title(data_adaptor) return render_template("index.html", datasetTitle=dataset_title, SCRIPTS=scripts) - except DatasetAccessError as e: - return make_response(f"Invalid dataset {dataset}: {str(e)}", HTTPStatus.BAD_REQUEST) + except DatasetAccessError: + return common_rest.abort_and_log( + HTTPStatus.BAD_REQUEST, f"Invalid dataset {dataset}", loglevel=logging.INFO, include_exc_info=True + ) @webbp.route("/favicon.png", methods=["GET"]) @@ -69,7 +72,7 @@ def get_data_adaptor(dataset=None): raise DatasetAccessError("Invalid dataset {dataset}") if datapath is None: - return make_response("Dataset must be supplied", HTTPStatus.BAD_REQUEST) + return common_rest.abort_and_log(HTTPStatus.BAD_REQUEST, f"Invalid dataset NONE", loglevel=logging.INFO) cache_manager = current_app.matrix_data_cache_manager return cache_manager.data_adaptor(datapath, config) @@ -81,8 +84,10 @@ def rest_get_data_adaptor(func): try: with get_data_adaptor(dataset) as data_adaptor: return func(self, data_adaptor) - except DatasetAccessError as e: - return make_response(f"Invalid dataset {dataset}: {str(e)}", HTTPStatus.BAD_REQUEST) + except DatasetAccessError: + return common_rest.abort_and_log( + HTTPStatus.BAD_REQUEST, f"Invalid dataset {dataset}", loglevel=logging.INFO, include_exc_info=True + ) return wrapped_function @@ -98,29 +103,26 @@ def dataroot_test_index(): data += "