# HG changeset patch # User cmlenz # Date 1217513905 0 # Node ID 64bf70856f025cdb3894ca815328d91b99a9fd67 # Parent 6dc1a751804d8460d427b2be8f617296bd7af2fa Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,14 @@ * Support for Python 2.3 has been dropped. +Version 0.5.2 +http://svn.edgewall.org/repos/genshi/tags/0.5.2/ +(???, from branches/stable/0.5.x) + + * Fix problem with I18n filter that would get confused by expressions in + attribute values when inside an `i18n:msg` block (ticket #250). + + Version 0.5.1 http://svn.edgewall.org/repos/genshi/tags/0.5.1/ (Jul 9 2008, from branches/stable/0.5.x) diff --git a/genshi/filters/i18n.py b/genshi/filters/i18n.py --- a/genshi/filters/i18n.py +++ b/genshi/filters/i18n.py @@ -163,7 +163,7 @@ newval = self.translate(value) else: newval = list(self(_ensure(value), ctxt, - search_text=False, msgbuf=msgbuf) + search_text=False) ) if newval != value: value = newval diff --git a/genshi/filters/tests/i18n.py b/genshi/filters/tests/i18n.py --- a/genshi/filters/tests/i18n.py +++ b/genshi/filters/tests/i18n.py @@ -301,6 +301,19 @@

Jim, sei gegrüßt!

""", tmpl.generate(user=dict(name='Jim')).render()) + def test_translate_i18n_msg_with_attribute_param(self): + tmpl = MarkupTemplate(""" +

+ Hello, dude! +

+ """) + gettext = lambda s: u"Sei gegrüßt, [1:Alter]!" + tmpl.filters.insert(0, Translator(gettext)) + self.assertEqual(""" +

Sei gegrüßt, Alter!

+ """, tmpl.generate(anchor='42').render()) + def test_extract_i18n_msg_with_two_params(self): tmpl = MarkupTemplate("""