comparison markup/template.py @ 185:95c3813a00de trunk

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 181d292eafa2
children 769d945ac030
comparison
equal deleted inserted replaced
184:181d292eafa2 185:95c3813a00de
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
Copyright (C) 2012-2017 Edgewall Software