changeset 824:01922ac166c0

Fix inefficient handling of static attribute values, pointed out by Christoph Zwerschke in #295.
author cmlenz
date Wed, 11 Mar 2009 23:22:11 +0000
parents ce5ad2d540b3
children 9cf631c0eace
files genshi/template/base.py
diffstat 1 files changed, 5 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/genshi/template/base.py
+++ b/genshi/template/base.py
@@ -525,18 +525,17 @@
                 # this point, so do some evaluation
                 tag, attrs = data
                 new_attrs = []
-                for name, substream in attrs:
-                    if type(substream) is list:
+                for name, value in attrs:
+                    if type(value) is list: # this is an interpolated string
                         values = []
-                        for event in self._flatten(substream, ctxt, **vars):
+                        for event in self._flatten(value, ctxt, **vars):
                             if event[0] is TEXT:
                                 values.append(event[1])
                         value = [x for x in values if x is not None]
                         if not value:
                             continue
-                    else:
-                        value = substream
-                    new_attrs.append((name, u''.join(value)))
+                        value = u''.join(value)
+                    new_attrs.append((name, value))
                 yield kind, (tag, Attrs(new_attrs)), pos
 
             elif kind is EXPR:
Copyright (C) 2012-2017 Edgewall Software