Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6172268

Browse files
committed
Move cloneNode into individual node classes
1 parent38b3a04 commit6172268

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

‎src/html5lib/treebuilders/simpletree.py

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,7 @@ def removeChild(self, node):
6262
node.parent=None
6363

6464
defcloneNode(self):
65-
newNode=type(self)(self.name)
66-
ifhasattr(self,'namespace'):
67-
newNode.namespace=self.namespace
68-
ifhasattr(self,'attributes'):
69-
forattr,valueinself.attributes.iteritems():
70-
newNode.attributes[attr]=value
71-
newNode.value=self.value
72-
returnnewNode
65+
raiseNotImplementedError
7366

7467
defhasContent(self):
7568
"""Return true if the node has children or text"""
@@ -112,11 +105,17 @@ def printTree(self):
112105
tree+=child.printTree(2)
113106
returntree
114107

108+
defcloneNode(self):
109+
returnDocument()
110+
115111
classDocumentFragment(Document):
116112
type=2
117113
def__unicode__(self):
118114
return"#document-fragment"
119115

116+
defcloneNode(self):
117+
returnDocumentFragment()
118+
120119
classDocumentType(Node):
121120
type=3
122121
def__init__(self,name,publicId,systemId):
@@ -140,6 +139,9 @@ def __unicode__(self):
140139
defhilite(self):
141140
return'<code class="markup doctype">&lt;!DOCTYPE %s></code>'%self.name
142141

142+
defcloneNode(self):
143+
returnDocumentType(self.name,self.publicId,self.systemId)
144+
143145
classTextNode(Node):
144146
type=4
145147
def__init__(self,value):
@@ -154,6 +156,9 @@ def toxml(self):
154156

155157
hilite=toxml
156158

159+
defcloneNode(self):
160+
returnTextNode(self.value)
161+
157162
classElement(Node):
158163
type=5
159164
def__init__(self,name,namespace=None):
@@ -206,6 +211,12 @@ def printTree(self, indent):
206211
tree+=child.printTree(indent)
207212
returntree
208213

214+
defcloneNode(self):
215+
newNode=Element(self.name)
216+
forattr,valueinself.attributes.iteritems():
217+
newNode.attributes[attr]=value
218+
returnnewNode
219+
209220
classCommentNode(Node):
210221
type=6
211222
def__init__(self,data):
@@ -221,6 +232,9 @@ def toxml(self):
221232
defhilite(self):
222233
return'<code class="markup comment">&lt;!--%s--></code>'%escape(self.data)
223234

235+
defcloneNode(self):
236+
returnCommentNode(self.data)
237+
224238
classTreeBuilder(_base.TreeBuilder):
225239
documentClass=Document
226240
doctypeClass=DocumentType

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp