From 7b282df14a04a9a4cade081318a0da238fd47283 Mon Sep 17 00:00:00 2001 From: ShipItAndPray Date: Sun, 26 Apr 2026 22:03:47 -0500 Subject: [PATCH] Ignore blank PO revision dates --- babel/messages/catalog.py | 2 +- tests/messages/test_pofile_read.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index 9a9739a72..f6f7eb862 100644 --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -585,7 +585,7 @@ def _set_mime_headers(self, headers: Iterable[tuple[str, str]]) -> None: self.creation_date = _parse_datetime_header(value) elif name == 'po-revision-date': # Keep the value if it's not the default one - if 'YEAR' not in value: + if value.strip() and 'YEAR' not in value: self.revision_date = _parse_datetime_header(value) mime_headers = property( diff --git a/tests/messages/test_pofile_read.py b/tests/messages/test_pofile_read.py index d17f5d4af..cd963b44e 100644 --- a/tests/messages/test_pofile_read.py +++ b/tests/messages/test_pofile_read.py @@ -164,6 +164,16 @@ def test_header_entry(): assert list(catalog)[0].fuzzy +def test_header_entry_blank_revision_date(): + buf = StringIO(r''' +msgid "" +msgstr "" +"PO-Revision-Date: \n" +''') + catalog = pofile.read_po(buf) + assert catalog.revision_date == 'YEAR-MO-DA HO:MI+ZONE' + + def test_obsolete_message(): buf = StringIO(r'''# This is an obsolete message #~ msgid "foo"