Skip to content

Commit aa7bc28

Browse files
committed
refactor(cz/customize): make jinja2 a custom requirement. if not installed use string.Tempalte instead
1 parent d44ade8 commit aa7bc28

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

commitizen/cz/customize/customize.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
from jinja2 import Template
1+
try:
2+
from jinja2 import Template
3+
except ImportError:
4+
from string import Template
25

36
from commitizen import defaults
47
from commitizen.cz.base import BaseCommitizen
@@ -27,7 +30,10 @@ def questions(self) -> list:
2730

2831
def message(self, answers: dict) -> str:
2932
message_template = Template(self.custom_config.get("message_template"))
30-
return message_template.render(**answers)
33+
if getattr(Template, "substitute", None):
34+
return message_template.substitute(**answers)
35+
else:
36+
return message_template.render(**answers)
3137

3238
def example(self) -> str:
3339
return self.custom_config.get("example")

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ colorama = "^0.4.1"
5151
termcolor = "^1.1"
5252
packaging = "^19.0"
5353
tomlkit = "^0.5.3"
54-
jinja2 = "^2.10.3"
54+
jinja2 = {version = "^2.10.3", optional = true}
5555

5656
[tool.poetry.dev-dependencies]
5757
ipython = "^7.2"

0 commit comments

Comments
 (0)