Mercurial > genshi > mirror
diff genshi/output.py @ 958:6fc92535c888 experimental-performance-improvement-exploration
Be more careful about what is passed into streams as events and remove many uses of _ensure as a result. An ATTRS event is added for handling Attributes returned by gensh.path.select().
author | hodgestar |
---|---|
date | Tue, 13 Mar 2012 03:03:02 +0000 |
parents | f15334b65cf8 |
children |
line wrap: on
line diff
--- a/genshi/output.py +++ b/genshi/output.py @@ -20,7 +20,7 @@ from genshi.core import escape, Attrs, Markup, Namespace, QName, StreamEventKind from genshi.core import START, END, TEXT, XML_DECL, DOCTYPE, START_NS, END_NS, \ - START_CDATA, END_CDATA, PI, COMMENT, XML_NAMESPACE + START_CDATA, END_CDATA, PI, COMMENT, XML_NAMESPACE, ATTRS __all__ = ['encode', 'get_serializer', 'DocType', 'XMLSerializer', 'XHTMLSerializer', 'HTMLSerializer', 'TextSerializer'] @@ -301,6 +301,12 @@ elif kind is PI: yield _emit(kind, data, Markup('<?%s %s?>' % data)) + elif kind is ATTRS: + # this is specifically to support the rendering of + # streams generated by genshi.path.select() and provides + # backwards compatibility with genshi < 0.7 + yield data.concatenate_values() + class XHTMLSerializer(XMLSerializer): """Produces XHTML text from an event stream.