From ffb8fe89c0e8fba8015c53d87c879764454488cf Mon Sep 17 00:00:00 2001 From: Mark Hobson Date: Mon, 18 Sep 2023 18:19:21 +0100 Subject: [PATCH] GH-1: Extract Jinja loader function --- schemes/__init__.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/schemes/__init__.py b/schemes/__init__.py index 4e867346..c2ff1251 100644 --- a/schemes/__init__.py +++ b/schemes/__init__.py @@ -1,20 +1,23 @@ import os from flask import Flask, render_template -from jinja2 import ChoiceLoader, FileSystemLoader, PackageLoader, PrefixLoader +from jinja2 import BaseLoader, ChoiceLoader, FileSystemLoader, PackageLoader, PrefixLoader def create_app() -> Flask: app = Flask(__name__, static_url_path="/") - - app.jinja_loader = ChoiceLoader( # type: ignore - [ - FileSystemLoader(os.path.join(app.root_path, str(app.template_folder))), - PrefixLoader({"govuk_frontend_jinja": PackageLoader("govuk_frontend_jinja")}) - ] - ) + app.jinja_loader = create_jinja_loader(app) # type: ignore @app.route("/") def index() -> str: return render_template("index.html") return app + + +def create_jinja_loader(app: Flask) -> BaseLoader: + return ChoiceLoader( + [ + FileSystemLoader(os.path.join(app.root_path, str(app.template_folder))), + PrefixLoader({"govuk_frontend_jinja": PackageLoader("govuk_frontend_jinja")}) + ] + )