|
1 | 1 | import os |
2 | 2 | from collections.abc import Iterable |
3 | | -from typing import TYPE_CHECKING, TypedDict |
| 3 | +from typing import TypedDict |
| 4 | + |
| 5 | +from jinja2 import Template |
4 | 6 |
|
5 | 7 | from commitizen import defaults |
6 | 8 | from commitizen.config import BaseConfig |
7 | 9 | from commitizen.cz.base import BaseCommitizen |
8 | 10 | from commitizen.cz.utils import multiple_line_breaker, required_validator |
9 | 11 | from commitizen.question import CzQuestion |
10 | 12 |
|
11 | | -if TYPE_CHECKING: |
12 | | - from jinja2 import Template |
13 | | -else: |
14 | | - try: |
15 | | - from jinja2 import Template |
16 | | - except ImportError: |
17 | | - from string import Template |
18 | | - |
19 | 13 | __all__ = ["ConventionalCommitsCz"] |
20 | 14 |
|
21 | 15 |
|
@@ -181,10 +175,7 @@ def questions(self) -> Iterable[CzQuestion]: |
181 | 175 |
|
182 | 176 | def message(self, answers: ConventionalCommitsAnswers) -> str: # type: ignore[override] |
183 | 177 | if _message_template := self.custom_settings.get("message_template"): |
184 | | - message_template = Template(_message_template) |
185 | | - if getattr(Template, "substitute", None): |
186 | | - return message_template.substitute(**answers) # type: ignore[attr-defined,no-any-return] # pragma: no cover # TODO: check if we can fix this |
187 | | - return message_template.render(**answers) |
| 178 | + return Template(_message_template).render(**answers) |
188 | 179 |
|
189 | 180 | prefix = answers["prefix"] |
190 | 181 | scope = answers["scope"] |
|
0 commit comments