# HG changeset patch # User cmlenz # Date 1236813731 0 # Node ID bc91cc3987eb4000296d41391b50c8110b344492 # Parent 70fddd2262f5e8fc224e82c3820f1e4cfda36416 Fix inefficient handling of static attribute values, pointed out by Christoph Zwerschke in #295. diff --git a/genshi/template/base.py b/genshi/template/base.py --- 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: