From dfac9164e1561128c5aed9506ffc36a14668fa34 Mon Sep 17 00:00:00 2001
From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de>
Date: Thu, 5 Sep 2024 15:18:34 +0200
Subject: [PATCH] helpers: Blueprint.render_template: factor out
 real_template_name()

---
 schilder2000/helpers.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/schilder2000/helpers.py b/schilder2000/helpers.py
index f6c4e1e..cba4a60 100644
--- a/schilder2000/helpers.py
+++ b/schilder2000/helpers.py
@@ -6,10 +6,8 @@ from jinja2 import BaseLoader, ChoiceLoader, PrefixLoader, Template
 
 
 class Blueprint(FlaskBlueprint):
-    def render_template(
-            self,
-            template: str | Template | list[str | Template],
-            **context: t.Any,
+    def real_template_name(
+        self, template: str | Template | list[str | Template]
     ) -> str:
         if self.jinja_loader is not None:
             # XXX This currently assumes ":" as PrefixLoader.delimiter in the app
@@ -19,6 +17,14 @@ class Blueprint(FlaskBlueprint):
                 for i, tpl in enumerate(template):
                     if isinstance(t, str) and ":" not in tpl:
                         template[i] = self.name + ":" + tpl
+        return template
+
+    def render_template(
+        self,
+        template: str | Template | list[str | Template],
+        **context: t.Any,
+    ) -> str:
+        template = self.real_template_name(template)
         return render_template(template, **context)
 
 
-- 
GitLab