11from gettext import gettext
22_ = gettext
33
4- import _base
4+ from . import _base
55from html5lib .constants import cdataElements ,rcdataElements ,voidElements
66
77from html5lib .constants import spaceCharacters
8- spaceCharacters = u "" .join (spaceCharacters )
8+ spaceCharacters = "" .join (spaceCharacters )
99
1010class LintError (Exception ):pass
1111
@@ -19,22 +19,22 @@ def __iter__(self):
1919name = token ["name" ]
2020if contentModelFlag != "PCDATA" :
2121raise LintError (_ ("StartTag not in PCDATA content model flag: %s" )% name )
22- if not isinstance (name ,unicode ):
23- raise LintError (_ (u "Tag name is not a string: %r" )% name )
22+ if not isinstance (name ,str ):
23+ raise LintError (_ ("Tag name is not a string: %r" )% name )
2424if not name :
25- raise LintError (_ (u "Empty tag name" ))
25+ raise LintError (_ ("Empty tag name" ))
2626if type == "StartTag" and name in voidElements :
27- raise LintError (_ (u "Void element reported as StartTag token: %s" )% name )
27+ raise LintError (_ ("Void element reported as StartTag token: %s" )% name )
2828elif type == "EmptyTag" and name not in voidElements :
29- raise LintError (_ (u "Non-void element reported as EmptyTag token: %s" )% token ["name" ])
29+ raise LintError (_ ("Non-void element reported as EmptyTag token: %s" )% token ["name" ])
3030if type == "StartTag" :
3131open_elements .append (name )
3232for name ,value in token ["data" ]:
33- if not isinstance (name ,unicode ):
33+ if not isinstance (name ,str ):
3434raise LintError (_ ("Attribute name is not a string: %r" )% name )
3535if not name :
36- raise LintError (_ (u "Empty attribute name" ))
37- if not isinstance (value ,unicode ):
36+ raise LintError (_ ("Empty attribute name" ))
37+ if not isinstance (value ,str ):
3838raise LintError (_ ("Attribute value is not a string: %r" )% value )
3939if name in cdataElements :
4040contentModelFlag = "CDATA"
@@ -45,15 +45,15 @@ def __iter__(self):
4545
4646elif type == "EndTag" :
4747name = token ["name" ]
48- if not isinstance (name ,unicode ):
49- raise LintError (_ (u "Tag name is not a string: %r" )% name )
48+ if not isinstance (name ,str ):
49+ raise LintError (_ ("Tag name is not a string: %r" )% name )
5050if not name :
51- raise LintError (_ (u "Empty tag name" ))
51+ raise LintError (_ ("Empty tag name" ))
5252if name in voidElements :
53- raise LintError (_ (u "Void element reported as EndTag token: %s" )% name )
53+ raise LintError (_ ("Void element reported as EndTag token: %s" )% name )
5454start_name = open_elements .pop ()
5555if start_name != name :
56- raise LintError (_ (u "EndTag (%s) does not match StartTag (%s)" )% (name ,start_name ))
56+ raise LintError (_ ("EndTag (%s) does not match StartTag (%s)" )% (name ,start_name ))
5757contentModelFlag = "PCDATA"
5858
5959elif type == "Comment" :
@@ -62,27 +62,27 @@ def __iter__(self):
6262
6363elif type in ("Characters" ,"SpaceCharacters" ):
6464data = token ["data" ]
65- if not isinstance (data ,unicode ):
65+ if not isinstance (data ,str ):
6666raise LintError (_ ("Attribute name is not a string: %r" )% data )
6767if not data :
68- raise LintError (_ (u "%s token with empty data" )% type )
68+ raise LintError (_ ("%s token with empty data" )% type )
6969if type == "SpaceCharacters" :
7070data = data .strip (spaceCharacters )
7171if data :
72- raise LintError (_ (u "Non-space character(s) found in SpaceCharacters token: " )% data )
72+ raise LintError (_ ("Non-space character(s) found in SpaceCharacters token: " )% data )
7373
7474elif type == "Doctype" :
7575name = token ["name" ]
7676if contentModelFlag != "PCDATA" :
7777raise LintError (_ ("Doctype not in PCDATA content model flag: %s" )% name )
78- if not isinstance (name ,unicode ):
79- raise LintError (_ (u "Tag name is not a string: %r" )% name )
78+ if not isinstance (name ,str ):
79+ raise LintError (_ ("Tag name is not a string: %r" )% name )
8080# XXX: what to do with token["data"] ?
8181
8282elif type in ("ParseError" ,"SerializeError" ):
8383pass
8484
8585else :
86- raise LintError (_ (u "Unknown token type: %s" )% type )
86+ raise LintError (_ ("Unknown token type: %s" )% type )
8787
8888yield token