diff --git a/app/__init__.py b/app/__init__.py index cc747a89846a837f77acfba87bafd127b999c25f..dcb58e47b9943b4efcc77f9bc8f5ba060f9b0d78 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -54,6 +54,9 @@ def create_app(config: Config = Config) -> Flask: scheduler.init_app(app) socketio.init_app(app, message_queue=app.config['NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI']) # noqa + from .errors import init_app as init_error_handlers + init_error_handlers(app) + from .admin import bp as admin_blueprint app.register_blueprint(admin_blueprint, url_prefix='/admin') @@ -69,9 +72,6 @@ def create_app(config: Config = Config) -> Flask: from .corpora import bp as corpora_blueprint app.register_blueprint(corpora_blueprint, url_prefix='/corpora') - from .errors import bp as errors_blueprint - app.register_blueprint(errors_blueprint) - from .jobs import bp as jobs_blueprint app.register_blueprint(jobs_blueprint, url_prefix='/jobs') diff --git a/app/errors/__init__.py b/app/errors/__init__.py index 0d79af4857891d0c86c260b95416c3ddac5f80b3..1f0480b4d12b7ddb76d17a898fcd2a2a15f0f716 100644 --- a/app/errors/__init__.py +++ b/app/errors/__init__.py @@ -1,5 +1,6 @@ -from flask import Blueprint +from werkzeug.exceptions import HTTPException +from .handlers import generic_error_handler -bp = Blueprint('errors', __name__) -from . import handlers +def init_app(app): + app.register_error_handler(HTTPException, generic_error_handler) diff --git a/app/errors/handlers.py b/app/errors/handlers.py index cc6c926869536362764b0cab2ac8d75eed1dc0ea..5a6c413d3b2205cbed1e377b8c5fd7f7a8648fae 100644 --- a/app/errors/handlers.py +++ b/app/errors/handlers.py @@ -1,11 +1,6 @@ -from flask import render_template, request -from werkzeug.exceptions import HTTPException -from . import bp +from flask import render_template -@bp.errorhandler(HTTPException) def generic_error_handler(e): - if (request.accept_mimetypes.accept_json - and not request.accept_mimetypes.accept_html): - return {'errors': {'message': e.description}}, e.code + print('test') return render_template('errors/error.html.j2', error=e), e.code