"""Flask app error handlers""" from pathlib import Path from flask import Flask from flask import render_template # Add other HTTP error codes here CODES = [404, 500] def add_routes(app: Flask) -> None: """Add all error handlers Args: app (Flask): Flask application """ tmpl_dir = app.template_folder if tmpl_dir is None: return tmpl = Path(__file__).parent / tmpl_dir for code in CODES: add_handler(app, tmpl, code) def add_handler( app: Flask, tmpl: Path, code: int) -> None: """Add Flask app error handler. Only for internal use Args: app (Flask): Flask application file (str): Template filename code (int): Error code """ file = f'{code}.html' if (tmpl / file).exists(): @app.errorhandler(code) def handler(_e): return render_template(file), code