Skip to content

Commit aa9ab24

Browse files
bearomorphismLee-W
authored andcommitted
refactor(Changelog): remove unnecessary intermediate variables for better readability
1 parent d9f5b49 commit aa9ab24

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

commitizen/commands/changelog.py

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from commitizen import changelog, defaults, factory, git, out
1212
from commitizen.changelog_formats import get_changelog_format
1313
from commitizen.config import BaseConfig
14-
from commitizen.cz.base import ChangelogReleaseHook, MessageBuilderHook
1514
from commitizen.cz.utils import strip_local_version
1615
from commitizen.exceptions import (
1716
DryRunExit,
@@ -188,15 +187,6 @@ def __call__(self) -> None:
188187
commit_parser = self.cz.commit_parser
189188
changelog_pattern = self.cz.changelog_pattern
190189
start_rev = self.start_rev
191-
unreleased_version = self.unreleased_version
192-
changelog_meta = changelog.Metadata()
193-
change_type_map: dict[str, str] | None = self.change_type_map
194-
changelog_message_builder_hook: MessageBuilderHook | None = (
195-
self.cz.changelog_message_builder_hook
196-
)
197-
changelog_release_hook: ChangelogReleaseHook | None = (
198-
self.cz.changelog_release_hook
199-
)
200190

201191
if self.export_template_to:
202192
return self._export_template(self.export_template_to)
@@ -213,45 +203,53 @@ def __call__(self) -> None:
213203
assert self.file_name
214204

215205
tags = self.tag_rules.get_version_tags(git.get_tags(), warn=True)
216-
end_rev = ""
206+
changelog_meta = changelog.Metadata()
217207
if self.incremental:
218208
changelog_meta = self.changelog_format.get_metadata(self.file_name)
219209
if changelog_meta.latest_version:
220210
start_rev = self._find_incremental_rev(
221211
strip_local_version(changelog_meta.latest_version_tag or ""), tags
222212
)
213+
214+
end_rev = ""
223215
if self.rev_range:
224216
start_rev, end_rev = changelog.get_oldest_and_newest_rev(
225217
tags,
226218
self.rev_range,
227219
self.tag_rules,
228220
)
221+
229222
commits = git.get_commits(start=start_rev, end=end_rev, args="--topo-order")
230223
if not commits and (
231224
self.current_version is None or not self.current_version.is_prerelease
232225
):
233226
raise NoCommitsFoundError("No commits found")
227+
234228
tree = changelog.generate_tree_from_commits(
235229
commits,
236230
tags,
237231
commit_parser,
238232
changelog_pattern,
239-
unreleased_version,
240-
change_type_map=change_type_map,
241-
changelog_message_builder_hook=changelog_message_builder_hook,
242-
changelog_release_hook=changelog_release_hook,
233+
self.unreleased_version,
234+
change_type_map=self.change_type_map,
235+
changelog_message_builder_hook=self.cz.changelog_message_builder_hook,
236+
changelog_release_hook=self.cz.changelog_release_hook,
243237
rules=self.tag_rules,
244238
)
245239
if self.change_type_order:
246240
tree = changelog.generate_ordered_changelog_tree(
247241
tree, self.change_type_order
248242
)
249243

250-
extras = self.cz.template_extras.copy()
251-
extras.update(self.config.settings["extras"])
252-
extras.update(self.extras)
253244
changelog_out = changelog.render_changelog(
254-
tree, loader=self.cz.template_loader, template=self.template, **extras
245+
tree,
246+
self.cz.template_loader,
247+
self.template,
248+
**{
249+
**self.cz.template_extras,
250+
**self.config.settings["extras"],
251+
**self.extras,
252+
},
255253
).lstrip("\n")
256254

257255
# Dry_run is executed here to avoid checking and reading the files

0 commit comments

Comments
 (0)