Mercurial > genshi > genshi-test
comparison markup/template.py @ 185:8e5a3048b359
Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
author | cmlenz |
---|---|
date | Tue, 22 Aug 2006 14:52:44 +0000 |
parents | e27a48802987 |
children | f0b32f1c478c |
comparison
equal
deleted
inserted
replaced
184:e27a48802987 | 185:8e5a3048b359 |
---|---|
908 for name, substream in attrib: | 908 for name, substream in attrib: |
909 if isinstance(substream, basestring): | 909 if isinstance(substream, basestring): |
910 value = substream | 910 value = substream |
911 else: | 911 else: |
912 values = [] | 912 values = [] |
913 for subkind, subdata, subpos in substream: | 913 for subkind, subdata, subpos in self._eval(substream, |
914 if subkind is EXPR: | 914 ctxt): |
915 values.append(subdata.evaluate(ctxt)) | 915 if subkind is TEXT: |
916 else: | |
917 values.append(subdata) | 916 values.append(subdata) |
918 value = [unicode(x) for x in values if x is not None] | 917 value = [x for x in values if x is not None] |
919 if not value: | 918 if not value: |
920 continue | 919 continue |
921 new_attrib.append((name, u''.join(value))) | 920 new_attrib.append((name, u''.join(value))) |
922 yield kind, (tag, Attrs(new_attrib)), pos | 921 yield kind, (tag, Attrs(new_attrib)), pos |
923 | 922 |