From 91953d07da6c6bdd02a263779cb4a9ad6001b974 Mon Sep 17 00:00:00 2001 From: BJ Dierkes Date: Tue, 11 Mar 2025 11:54:09 -0500 Subject: [PATCH] fix(ext_jinja2): refactor hard-coded reference to jinja2 template handler Issue: #749 --- CHANGELOG.md | 3 ++- cement/ext/ext_jinja2.py | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 286207d8..b79a7c4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ Bugs: -- None +- `[ext_jinja2]` Refactor hard-coded reference to `jinja2` template handler. + - [Issue #749](https://github.com/datafolklabs/cement/issues/749) Features: diff --git a/cement/ext/ext_jinja2.py b/cement/ext/ext_jinja2.py index 168d4d8e..1cd9128e 100644 --- a/cement/ext/ext_jinja2.py +++ b/cement/ext/ext_jinja2.py @@ -34,6 +34,9 @@ class Jinja2OutputHandler(OutputHandler): Please see the developer documentation on :cement:`Output Handling `. + This class has an assumed depency on it's associated Jinja2TemplateHandler. + If sub-classing, you must also sub-class/implement the Jinja2TemplateHandler + and give it the same label. """ class Meta(OutputHandler.Meta): @@ -48,7 +51,7 @@ class Jinja2OutputHandler(OutputHandler): def _setup(self, app: App) -> None: super(Jinja2OutputHandler, self)._setup(app) - self.templater = self.app.handler.resolve('template', 'jinja2', setup=True) # type: ignore + self.templater = self.app.handler.resolve('template', self._meta.label, setup=True) # type: ignore def render(self, data: Dict[str, Any], template: str = None, **kw: Any) -> str: # type: ignore """