/usr/lib64/python2.6/site-packages/lxml/html
NameSizeModeActions
builder.py43100644editdlrm
builder.pyc39180644editdlrm
builder.pyo39180644editdlrm
clean.py250170644editdlrm
clean.pyc189000644editdlrm
clean.pyo187990644editdlrm
defs.py38000644editdlrm
defs.pyc35780644editdlrm
defs.pyo35780644editdlrm
diff.py303750644editdlrm
diff.pyc286960644editdlrm
diff.pyo283460644editdlrm
ElementSoup.py3190644editdlrm
ElementSoup.pyc6220644editdlrm
ElementSoup.pyo6220644editdlrm
formfill.py97610644editdlrm
formfill.pyc100150644editdlrm
formfill.pyo97610644editdlrm
html5parser.py53040644editdlrm
html5parser.pyc58700644editdlrm
html5parser.pyo58700644editdlrm
soupparser.py42750644editdlrm
soupparser.pyc48310644editdlrm
soupparser.pyo48310644editdlrm
usedoctest.py2490644editdlrm
usedoctest.pyc4640644editdlrm
usedoctest.pyo4640644editdlrm
_dictmixin.py35390644editdlrm
_dictmixin.pyc46880644editdlrm
_dictmixin.pyo46880644editdlrm
_diffcommand.py20820644editdlrm
_diffcommand.pyc28560644editdlrm
_diffcommand.pyo28560644editdlrm
_html5builder.py31240644editdlrm
_html5builder.pyc44980644editdlrm
_html5builder.pyo44980644editdlrm
_setmixin.py24880644editdlrm
_setmixin.pyc51940644editdlrm
_setmixin.pyo51940644editdlrm
__init__.py521370644editdlrm
__init__.pyc563640644editdlrm
__init__.pyo561100644editdlrm
Edit: /usr/lib64/python2.6/site-packages/lxml/html/_html5builder.py (3124B)
""" This module implements a tree builder for html5lib that generates lxml html element trees. This module uses camelCase as it follows the html5lib style guide. """ from html5lib.treebuilders import _base, etree as etree_builders from lxml import html, etree class DocumentType(object): def __init__(self, name, publicId, systemId): self.name = name self.publicId = publicId self.systemId = systemId class Document(object): def __init__(self): self._elementTree = None self.childNodes = [] def appendChild(self, element): self._elementTree.getroot().addnext(element._element) class TreeBuilder(_base.TreeBuilder): documentClass = Document doctypeClass = DocumentType elementClass = None commentClass = None fragmentClass = Document def __init__(self): html_builder = etree_builders.getETreeModule(html, fullTree=False) etree_builder = etree_builders.getETreeModule(etree, fullTree=False) self.elementClass = html_builder.Element self.commentClass = etree_builder.Comment _base.TreeBuilder.__init__(self) def reset(self): _base.TreeBuilder.reset(self) self.rootInserted = False self.initialComments = [] self.doctype = None def getDocument(self): return self.document._elementTree def getFragment(self): fragment = [] element = self.openElements[0]._element if element.text: fragment.append(element.text) fragment.extend(element.getchildren()) if element.tail: fragment.append(element.tail) return fragment def insertDoctype(self, name, publicId, systemId): doctype = self.doctypeClass(name, publicId, systemId) self.doctype = doctype def insertComment(self, data, parent=None): if not self.rootInserted: self.initialComments.append(data) else: _base.TreeBuilder.insertComment(self, data, parent) def insertRoot(self, name): buf = [] if self.doctype and self.doctype.name: buf.append('') buf.append('') root = html.fromstring(u''.join(buf)) # Append the initial comments: for comment in self.initialComments: root.addprevious(etree.Comment(comment)) # Create the root document and add the ElementTree to it self.document = self.documentClass() self.document._elementTree = root.getroottree() # Add the root element to the internal child/open data structures root_element = self.elementClass(name) root_element._element = root self.document.childNodes.append(root_element) self.openElements.append(root_element) self.rootInserted = True