@@ -31,11 +31,6 @@ def to_text(s, blank_if_none=True):
3131 return text_type (s )
3232
3333
34- def is_text_or_none (string ):
35- """Wrapper around isinstance(string_types) or is None"""
36- return string is None or isinstance (string , string_types )
37-
38-
3934class TreeWalker (object ):
4035 def __init__ (self , tree ):
4136 self .tree = tree
@@ -47,27 +42,13 @@ def error(self, msg):
4742 return {"type" : "SerializeError" , "data" : msg }
4843
4944 def emptyTag (self , namespace , name , attrs , hasChildren = False ):
50- assert namespace is None or isinstance (namespace , string_types ), type (namespace )
51- assert isinstance (name , string_types ), type (name )
52- assert all ((namespace is None or isinstance (namespace , string_types )) and
53- isinstance (name , string_types ) and
54- isinstance (value , string_types )
55- for (namespace , name ), value in attrs .items ())
56-
5745 yield {"type" : "EmptyTag" , "name" : to_text (name , False ),
5846 "namespace" : to_text (namespace ),
5947 "data" : attrs }
6048 if hasChildren :
6149 yield self .error ("Void element has children" )
6250
6351 def startTag (self , namespace , name , attrs ):
64- assert namespace is None or isinstance (namespace , string_types ), type (namespace )
65- assert isinstance (name , string_types ), type (name )
66- assert all ((namespace is None or isinstance (namespace , string_types )) and
67- isinstance (name , string_types ) and
68- isinstance (value , string_types )
69- for (namespace , name ), value in attrs .items ())
70-
7152 return {"type" : "StartTag" ,
7253 "name" : text_type (name ),
7354 "namespace" : to_text (namespace ),
@@ -76,17 +57,12 @@ def startTag(self, namespace, name, attrs):
7657 for (namespace , name ), value in attrs .items ())}
7758
7859 def endTag (self , namespace , name ):
79- assert namespace is None or isinstance (namespace , string_types ), type (namespace )
80- assert isinstance (name , string_types ), type (namespace )
81-
8260 return {"type" : "EndTag" ,
8361 "name" : to_text (name , False ),
8462 "namespace" : to_text (namespace ),
8563 "data" : {}}
8664
8765 def text (self , data ):
88- assert isinstance (data , string_types ), type (data )
89-
9066 data = to_text (data )
9167 middle = data .lstrip (spaceCharacters )
9268 left = data [:len (data ) - len (middle )]
@@ -101,24 +77,16 @@ def text(self, data):
10177 yield {"type" : "SpaceCharacters" , "data" : right }
10278
10379 def comment (self , data ):
104- assert isinstance (data , string_types ), type (data )
105-
10680 return {"type" : "Comment" , "data" : text_type (data )}
10781
10882 def doctype (self , name , publicId = None , systemId = None , correct = True ):
109- assert is_text_or_none (name ), type (name )
110- assert is_text_or_none (publicId ), type (publicId )
111- assert is_text_or_none (systemId ), type (systemId )
112-
11383 return {"type" : "Doctype" ,
11484 "name" : to_text (name ),
11585 "publicId" : to_text (publicId ),
11686 "systemId" : to_text (systemId ),
11787 "correct" : to_text (correct )}
11888
11989 def entity (self , name ):
120- assert isinstance (name , string_types ), type (name )
121-
12290 return {"type" : "Entity" , "name" : text_type (name )}
12391
12492 def unknown (self , nodeType ):
0 commit comments