changeset 535:35a413f3f1dd trunk

The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
author cmlenz
date Wed, 27 Jun 2007 17:58:35 +0000
parents 57b5d5138f1a
children 8227900a442c
files ChangeLog genshi/filters/i18n.py genshi/filters/tests/i18n.py
diffstat 3 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,14 @@
    understand.
 
 
+Version 0.4.3
+http://svn.edgewall.org/repos/genshi/tags/0.4.3/
+(?, from branches/stable/0.4.x)
+
+ * The I18n filter no longer extracts or translates literal strings in
+   attribute values that also contain expressions.
+
+
 Version 0.4.2
 http://svn.edgewall.org/repos/genshi/tags/0.4.2/
 (Jun 20, from branches/stable/0.4.x)
--- a/genshi/filters/i18n.py
+++ b/genshi/filters/i18n.py
@@ -158,7 +158,7 @@
                             newval = self.translate(value)
                     else:
                         newval = list(self(_ensure(value), ctxt,
-                            search_text=name in include_attrs)
+                            search_text=False)
                         )
                     if newval != value:
                         value = newval
@@ -259,7 +259,7 @@
                     else:
                         for lineno, funcname, text in self.extract(
                                 _ensure(value), gettext_functions,
-                                search_text=name in self.include_attrs):
+                                search_text=False):
                             yield lineno, funcname, text
 
             elif search_text and kind is TEXT:
--- a/genshi/filters/tests/i18n.py
+++ b/genshi/filters/tests/i18n.py
@@ -83,6 +83,14 @@
         self.assertEqual(1, len(messages))
         self.assertEqual((2, None, u'(c) 2007 Edgewall Software'), messages[0])
 
+    def test_ignore_attribute_with_expression(self):
+        tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/">
+          <input type="submit" value="Reply" title="Reply to comment $num" />
+        </html>""")
+        translator = Translator()
+        messages = list(translator.extract(tmpl.stream))
+        self.assertEqual(0, len(messages))
+
 
 class ExtractTestCase(unittest.TestCase):
 
Copyright (C) 2012-2017 Edgewall Software