Skip to content

Commit 40b9e90

Browse files
committed
Added documentation, about to rename DOMlite to simpletree
--HG-- extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%40402
1 parent 93de0f9 commit 40b9e90

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

src/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import treebuilders
2626
from treebuilders.base import Marker
27-
from treebuilders import DOMlite
27+
from treebuilders import simpletree
2828

2929
import utils
3030
from constants import contentModelFlags, spaceCharacters
@@ -34,7 +34,7 @@
3434
class HTMLParser(object):
3535
"""Main parser class"""
3636

37-
def __init__(self, strict = False, tree=DOMlite.TreeBuilder):
37+
def __init__(self, strict = False, tree=simpletree.TreeBuilder):
3838
# Raise an exception on the first error encountered
3939
self.strict = strict
4040
self.errors = []
@@ -907,7 +907,7 @@ def endTagFormatting(self, name):
907907
clone = afeElement.cloneNode()
908908

909909
# Step 10
910-
self.tree.reparentChildren(furthestBlock, clone)
910+
furthestBlock.reparentChildren(clone)
911911

912912
# Step 11
913913
furthestBlock.appendChild(clone)

src/treebuilders/DOMlite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import _base
22

33
# Really crappy basic implementation of a DOM-core like thing
4-
class Node(object):
4+
class Node(_base.Node):
55
def __init__(self, name):
66
self.name = name
77
self.parent = None

src/treebuilders/etree.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import _base
77

8-
class Element(object):
8+
class Element(_base.Node):
99
def __init__(self, name):
1010
self._element = ElementTree.Element(name)
1111
self.name = name
@@ -18,9 +18,6 @@ def __init__(self, name):
1818
self._element.text = ""
1919
self._element.tail = ""
2020

21-
def __repr__(self):
22-
return "<%s %s>" % (self.__class__, self.name)
23-
2421
def _setName(self, name):
2522
self._element.tag = name
2623

@@ -91,6 +88,14 @@ def cloneNode(self):
9188
element.attributes = self.attributes
9289
return element
9390

91+
def reparentChildren(self, newParent):
92+
if newParent.childNodes:
93+
newParent.childNodes[-1]._element.tail += self._element.text
94+
else:
95+
newParent._element.text += self._element.text
96+
self._element.text = ""
97+
_base.Node.reparentChildren(self, newParent)
98+
9499
class Comment(Element):
95100
def __init__(self, data):
96101
Element.__init__(self, Comment)
@@ -157,11 +162,3 @@ def testSerializer(self, element):
157162

158163
def getDocument(self):
159164
return self.document._element
160-
161-
def reparentChildren(self, oldParent, newParent):
162-
if newParent.childNodes:
163-
newParent.childNodes[-1]._element.tail += oldParent._element.text
164-
else:
165-
newParent._element.text += oldParent._element.text
166-
oldParent._element.text = ""
167-
_base.TreeBuilder.reparentChildren(self, oldParent, newParent)

0 commit comments

Comments
 (0)