From f1283cc6a6ba276d7c0a1ccf911c89a90b43c6eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Forr=C3=B3?= Date: Thu, 12 Feb 2026 16:14:41 +0100 Subject: [PATCH] Fix whitespace padding of day of month in changelog entries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nikola Forró --- specfile/changelog.py | 6 +++--- tests/unit/test_changelog.py | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/specfile/changelog.py b/specfile/changelog.py index 33e39d9..0a984fa 100644 --- a/specfile/changelog.py +++ b/specfile/changelog.py @@ -241,10 +241,10 @@ def assemble( header = _OPENSUSE_CHANGELOG_SEPARATOR + "\n" header += f"{weekday} {month}" - if day_of_month_padding.endswith("0"): - header += f" {day_of_month_padding[:-1]}{timestamp.day:02}" + if day_of_month_padding: + header += f" {day_of_month_padding[:-1]}{timestamp.day:{day_of_month_padding[-1]}>2}" else: - header += f" {day_of_month_padding}{timestamp.day}" + header += f" {timestamp.day}" # convert to extended format for openSUSE style changelogs if style == ChangelogStyle.openSUSE and not isinstance( diff --git a/tests/unit/test_changelog.py b/tests/unit/test_changelog.py index 030060b..825c9a8 100644 --- a/tests/unit/test_changelog.py +++ b/tests/unit/test_changelog.py @@ -452,9 +452,33 @@ def test_get_raw_section_data(): ], "0.4-1", ), + ChangelogEntry.assemble( + datetime.date(2026, 2, 9), + "Nikola Forró ", + [ + "* whitespace day of month padding", + ], + "0.4-2", + day_of_month_padding=" ", + ), + ChangelogEntry.assemble( + datetime.date(2026, 2, 19), + "Nikola Forró ", + [ + "* whitespace day of month padding #2", + ], + "0.4-3", + day_of_month_padding=" ", + ), ] ) assert changelog.get_raw_section_data() == [ + "* Thu Feb 19 2026 Nikola Forró - 0.4-3", + "* whitespace day of month padding #2", + "", + "* Mon Feb 9 2026 Nikola Forró - 0.4-2", + "* whitespace day of month padding", + "", "* Fri Jan 27 2023 Nikola Forró - 0.4-1", "", "* this is also a valid entry",