# HG changeset patch # User cmlenz # Date 1217513905 0 # Node ID 36fb0a57fe74a6d1d5e496638e8586318e897913 # Parent 2ee324467afec473a575ff6d4633ce9bb30eb5b2 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("""