# HG changeset patch # User pjenvey # Date 1190957120 0 # Node ID 65f03ea482fdd2d9e1c13e3284300faf302ed9a2 # Parent 4fdbdaa60eb221c312ab1c50ac7c1ddf9842475e Merged revisions 321-323 via svnmerge from http://svn.edgewall.org/repos/babel/trunk ........ r321 | pjenvey | 2007-09-27 21:44:55 -0700 (Thu, 27 Sep 2007) | 1 line we must mean options.locale here ........ r322 | pjenvey | 2007-09-27 22:16:25 -0700 (Thu, 27 Sep 2007) | 2 lines fix catalogs' charset values not being recognized thanks Jose Galvez ........ r323 | pjenvey | 2007-09-27 22:18:27 -0700 (Thu, 27 Sep 2007) | 1 line woops, misplaced changelog ........ diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Version 0.9.2 +http://svn.edgewall.org/repos/babel/tags/0.9.2/ +(?, from branches/stable/0.9.x) + + * Fixed catalogs' charset values not being recognized. + Version 0.9.1 http://svn.edgewall.org/repos/babel/tags/0.9.1/ (Sep 7 2007, from branches/stable/0.9.x) diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -289,7 +289,7 @@ def _set_mime_headers(self, headers): for name, value in headers: - if name == 'content-type': + if name.lower() == 'content-type': mimetype, params = parse_header(value) if 'charset' in params: self.charset = params['charset'].lower() diff --git a/babel/messages/frontend.py b/babel/messages/frontend.py --- a/babel/messages/frontend.py +++ b/babel/messages/frontend.py @@ -717,7 +717,7 @@ if not options.directory: parser.error('you must specify either the input file or ' 'the base directory') - mo_files.append(os.path.join(options.directory, locale, + mo_files.append(os.path.join(options.directory, options.locale, 'LC_MESSAGES', options.domain + '.mo')) if not po_files: diff --git a/babel/messages/tests/pofile.py b/babel/messages/tests/pofile.py --- a/babel/messages/tests/pofile.py +++ b/babel/messages/tests/pofile.py @@ -18,6 +18,7 @@ from babel.messages.catalog import Catalog, Message from babel.messages import pofile +from babel.util import FixedOffsetTimezone, LOCALTZ class ReadPoTestCase(unittest.TestCase): @@ -75,6 +76,41 @@ self.assertEqual(1, len(list(catalog))) self.assertEqual(False, list(catalog)[0].fuzzy) + def test_header_entry(self): + buf = StringIO(r'''\ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , 2007. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 3.15\n" +"Report-Msgid-Bugs-To: Fliegender Zirkus \n" +"POT-Creation-Date: 2007-09-27 11:19+0700\n" +"PO-Revision-Date: 2007-09-27 21:42-0700\n" +"Last-Translator: John \n" +"Language-Team: German Lang \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.0dev-r313\n" +''') + catalog = pofile.read_po(buf) + self.assertEqual(1, len(list(catalog))) + self.assertEqual(u'3.15', catalog.version) + self.assertEqual(u'Fliegender Zirkus ', + catalog.msgid_bugs_address) + self.assertEqual(datetime(2007, 9, 27, 11, 19, + tzinfo=FixedOffsetTimezone(7 * 60)), + catalog.creation_date) + self.assertEqual(u'John ', catalog.last_translator) + self.assertEqual(u'German Lang ', catalog.language_team) + self.assertEqual(u'iso-8859-2', catalog.charset) + self.assertEqual(True, list(catalog)[0].fuzzy) + def test_obsolete_message(self): buf = StringIO(r'''# This is an obsolete message #~ msgid "foo"