handlers.py 946 Bytes
from flask import render_template
from app import db
from . import bp

# Inspired by:
#   https://flask.palletsprojects.com/en/master/patterns/errorpages/

error_page = 'error.html'


@bp.app_errorhandler(403)
def forbidden_error(error):
    error_title = "Page Interdite"
    return render_template(error_page, error_title=error_title, error_msg=error), 403


@bp.app_errorhandler(404)
def not_found_error(error):
    error_title = "Page Introuvable."
    return render_template(error_page, error_title=error_title, error_msg=error), 404


@bp.app_errorhandler(405)
def method_error(error):
    error_title = "Erreur de Méthode."
    return render_template(error_page, error_title=error_title, error_msg=error), 405


@bp.app_errorhandler(500)
def internal_error(error):
    db.session.rollback()
    error_title = "Erreur Interne. Administrateur Prévenu."
    return render_template(error_page, error_title=error_title, error_msg=error), 500