Mercurial > genshi > genshi-test
comparison genshi/template/base.py @ 817:f7a5336dd389
Minor simplification in the expansion of dynamic attributes.
author | cmlenz |
---|---|
date | Mon, 09 Mar 2009 16:17:25 +0000 |
parents | 3047d5d83ccc |
children | ce5ad2d540b3 |
comparison
equal
deleted
inserted
replaced
816:87e3fc814a33 | 817:f7a5336dd389 |
---|---|
529 # Attributes may still contain expressions in start tags at | 529 # Attributes may still contain expressions in start tags at |
530 # this point, so do some evaluation | 530 # this point, so do some evaluation |
531 tag, attrs = data | 531 tag, attrs = data |
532 new_attrs = [] | 532 new_attrs = [] |
533 for name, substream in attrs: | 533 for name, substream in attrs: |
534 if isinstance(substream, basestring): | 534 if type(substream) is list: |
535 value = substream | |
536 else: | |
537 values = [] | 535 values = [] |
538 for event in self._flatten(substream, ctxt, **vars): | 536 for event in self._flatten(substream, ctxt, **vars): |
539 if event[0] is TEXT: | 537 if event[0] is TEXT: |
540 values.append(event[1]) | 538 values.append(event[1]) |
541 value = [x for x in values if x is not None] | 539 value = [x for x in values if x is not None] |
542 if not value: | 540 if not value: |
543 continue | 541 continue |
542 else: | |
543 value = substream | |
544 new_attrs.append((name, u''.join(value))) | 544 new_attrs.append((name, u''.join(value))) |
545 yield kind, (tag, Attrs(new_attrs)), pos | 545 yield kind, (tag, Attrs(new_attrs)), pos |
546 | 546 |
547 elif kind is EXPR: | 547 elif kind is EXPR: |
548 result = _eval_expr(data, ctxt, **vars) | 548 result = _eval_expr(data, ctxt, **vars) |