Unverified Kaydet (Commit) afd1e6d2 authored tarafından Julien Palard's avatar Julien Palard Kaydeden (comit) GitHub

bpo-36239: Skip comments in gettext infos (GH-12255)

üst 88db8bd0
......@@ -417,6 +417,9 @@ class GNUTranslations(NullTranslations):
item = b_item.decode().strip()
if not item:
continue
# Skip over comment lines:
if item.startswith('#-#-#-#-#') and item.endswith('#-#-#-#-#'):
continue
k = v = None
if ':' in item:
k, v = item.split(':', 1)
......
......@@ -684,6 +684,19 @@ class GNUTranslationParsingTest(GettextBaseTest):
# If this runs cleanly, the bug is fixed.
t = gettext.GNUTranslations(fp)
def test_ignore_comments_in_headers_issue36239(self):
"""Checks that comments like:
#-#-#-#-# messages.po (EdX Studio) #-#-#-#-#
are ignored.
"""
with open(MOFILE, 'wb') as fp:
fp.write(base64.decodebytes(GNU_MO_DATA_ISSUE_17898))
with open(MOFILE, 'rb') as fp:
t = gettext.GNUTranslations(fp)
self.assertEqual(t.info()["plural-forms"], "nplurals=2; plural=(n != 1);")
class UnicodeTranslationsTest(GettextBaseTest):
def setUp(self):
......
Parsing .mo files now ignores comments starting and ending with #-#-#-#-#.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment