from html5lib import treewalkers from htmlserializer import HTMLSerializer from xhtmlserializer import XHTMLSerializer def serialize(input, tree="simpletree", format="html", encoding=None, **serializer_opts): # XXX: Should we cache this? walker = treewalkers.getTreeWalker(tree) if format == "html": s = HTMLSerializer(**serializer_opts) elif format == "xhtml": s = XHTMLSerializer(**serializer_opts) else: raise ValueError, "type must be either html or xhtml" return s.render(walker(input), encoding)