]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
catalog: fix bytes-to-strings comparisons when parsing headers on Py3
authorAarni Koskela <akx@iki.fi>
Mon, 28 May 2018 09:58:09 +0000 (12:58 +0300)
committerAarni Koskela <akx@iki.fi>
Mon, 28 May 2018 10:01:40 +0000 (13:01 +0300)
babel/messages/catalog.py

index f85bfb1565b51d78c18f4080c4afdfd292f5070a..6d61a3826bbc7e546e2ff14b1aee77fab2b8301d 100644 (file)
@@ -23,7 +23,7 @@ from babel.core import Locale, UnknownLocaleError
 from babel.dates import format_datetime
 from babel.messages.plurals import get_plural
 from babel.util import odict, distinct, LOCALTZ, FixedOffsetTimezone
-from babel._compat import string_types, number_types, PY2, cmp, text_type
+from babel._compat import string_types, number_types, PY2, cmp, text_type, force_text
 
 __all__ = ['Message', 'Catalog', 'TranslationError']
 
@@ -413,7 +413,8 @@ class Catalog(object):
 
     def _set_mime_headers(self, headers):
         for name, value in headers:
-            name = name.lower()
+            name = force_text(name.lower(), encoding=self.charset)
+            value = force_text(value, encoding=self.charset)
             if name == 'project-id-version':
                 parts = value.split(' ')
                 self.project = u' '.join(parts[:-1])