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

Commit84b1710

Browse files
committed
Remove a lot of old 2.3/2.4 support code
1 parent97b25e3 commit84b1710

File tree

7 files changed

+7
-196
lines changed

7 files changed

+7
-196
lines changed

‎html5lib/constants.py‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
importstring,gettext
22
_=gettext.gettext
33

4-
try:
5-
frozenset
6-
exceptNameError:
7-
# Import from the sets module for python 2.3
8-
fromsetsimportSetasset
9-
fromsetsimportImmutableSetasfrozenset
10-
114
EOF=None
125

136
E= {

‎html5lib/filters/whitespace.py‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
try:
2-
frozenset
3-
exceptNameError:
4-
# Import from the sets module for python 2.3
5-
fromsetsimportImmutableSetasfrozenset
6-
71
importre
82

93
from .import_base

‎html5lib/html5parser.py‎

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,3 @@
1-
try:
2-
frozenset
3-
exceptNameError:
4-
# Import from the sets module for python 2.3
5-
fromsetsimportSetasset
6-
fromsetsimportImmutableSetasfrozenset
7-
8-
try:
9-
any
10-
except:
11-
# Implement 'any' for python 2.4 and previous
12-
defany(iterable):
13-
forelementiniterable:
14-
ifelement:
15-
returnTrue
16-
returnFalse
17-
18-
try:
19-
"abc".startswith(("a","b"))
20-
defstartswithany(str,prefixes):
21-
returnstr.startswith(prefixes)
22-
except:
23-
# Python 2.4 doesn't accept a tuple as argument to string startswith
24-
defstartswithany(str,prefixes):
25-
forprefixinprefixes:
26-
ifstr.startswith(prefix):
27-
returnTrue
28-
returnFalse
29-
301
importsys
312
importtypes
323

@@ -540,7 +511,7 @@ def processDoctype(self, token):
540511
publicId=publicId.translate(asciiUpper2Lower)
541512

542513
if (notcorrectortoken["name"]!="html"
543-
orstartswithany(publicId,
514+
orpublicId.startswith(
544515
("+//silmaril//dtd html pro v0r11 19970101//",
545516
"-//advasoft ltd//dtd html 3.0 aswedit + extensions//",
546517
"-//as//dtd html 3.0 aswedit + extensions//",
@@ -600,16 +571,16 @@ def processDoctype(self, token):
600571
("-//w3o//dtd w3 html strict 3.0//en//",
601572
"-/w3c/dtd html 4.0 transitional/en",
602573
"html")
603-
orstartswithany(publicId,
574+
orpublicId.startswith(
604575
("-//w3c//dtd html 4.01 frameset//",
605576
"-//w3c//dtd html 4.01 transitional//"))and
606577
systemId==None
607578
orsystemIdandsystemId.lower()=="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"):
608579
self.parser.compatMode="quirks"
609-
elif (startswithany(publicId,
580+
elif (publicId.startswith(
610581
("-//w3c//dtd xhtml 1.0 frameset//",
611582
"-//w3c//dtd xhtml 1.0 transitional//"))
612-
orstartswithany(publicId,
583+
orpublicId.startswith(
613584
("-//w3c//dtd html 4.01 frameset//",
614585
"-//w3c//dtd html 4.01 transitional//"))and
615586
systemId!=None):

‎html5lib/serializer/htmlserializer.py‎

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
1-
try:
2-
frozenset
3-
exceptNameError:
4-
# Import from the sets module for python 2.3
5-
fromsetsimportImmutableSetasfrozenset
1+
importgettext
2+
_=gettext.gettext
63

74
try:
85
fromfunctoolsimportreduce
96
pass# no-op statement to avoid 3to2 introducing parse error
107
exceptImportError:
118
pass
129

13-
importgettext
14-
_=gettext.gettext
15-
1610
fromhtml5lib.constantsimportvoidElements,booleanAttributes,spaceCharacters
1711
fromhtml5lib.constantsimportrcdataElements,entities,xmlEntities
1812
fromhtml5libimportutils

‎html5lib/tokenizer.py‎

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
1-
try:
2-
frozenset
3-
exceptNameError:
4-
# Import from the sets module for python 2.3
5-
fromsetsimportSetasset
6-
fromsetsimportImmutableSetasfrozenset
7-
try:
8-
fromcollectionsimportdeque
9-
exceptImportError:
10-
from .utilsimportdeque
1+
fromcollectionsimportdeque
112

123
from .constantsimportspaceCharacters
134
from .constantsimportentitiesWindows1252,entities

‎html5lib/treebuilders/_base.py‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
11
fromhtml5lib.constantsimportscopingElements,tableInsertModeElements,namespaces
2-
try:
3-
frozenset
4-
exceptNameError:
5-
# Import from the sets module for python 2.3
6-
fromsetsimportSetasset
7-
fromsetsimportImmutableSetasfrozenset
82

93
# The scope markers are inserted when entering object elements,
104
# marquees, table cells, and table captions, and are used to prevent formatting

‎html5lib/utils.py‎

Lines changed: 0 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
try:
2-
frozenset
3-
exceptNameError:
4-
#Import from the sets module for python 2.3
5-
fromsetsimportSetasset
6-
fromsetsimportImmutableSetasfrozenset
7-
81
fromtypesimportModuleType
92

103

@@ -38,125 +31,6 @@ def __init__(self, items=()):
3831
def__getitem__(self,key):
3932
returndict.get(self,key,self.default)
4033

41-
#Pure python implementation of deque taken from the ASPN Python Cookbook
42-
#Original code by Raymond Hettinger
43-
44-
classdeque(object):
45-
46-
def__init__(self,iterable=(),maxsize=-1):
47-
ifnothasattr(self,'data'):
48-
self.left=self.right=0
49-
self.data= {}
50-
self.maxsize=maxsize
51-
self.extend(iterable)
52-
53-
defappend(self,x):
54-
self.data[self.right]=x
55-
self.right+=1
56-
ifself.maxsize!=-1andlen(self)>self.maxsize:
57-
self.popleft()
58-
59-
defappendleft(self,x):
60-
self.left-=1
61-
self.data[self.left]=x
62-
ifself.maxsize!=-1andlen(self)>self.maxsize:
63-
self.pop()
64-
65-
defpop(self):
66-
ifself.left==self.right:
67-
raiseIndexError('cannot pop from empty deque')
68-
self.right-=1
69-
elem=self.data[self.right]
70-
delself.data[self.right]
71-
returnelem
72-
73-
defpopleft(self):
74-
ifself.left==self.right:
75-
raiseIndexError('cannot pop from empty deque')
76-
elem=self.data[self.left]
77-
delself.data[self.left]
78-
self.left+=1
79-
returnelem
80-
81-
defclear(self):
82-
self.data.clear()
83-
self.left=self.right=0
84-
85-
defextend(self,iterable):
86-
foreleminiterable:
87-
self.append(elem)
88-
89-
defextendleft(self,iterable):
90-
foreleminiterable:
91-
self.appendleft(elem)
92-
93-
defrotate(self,n=1):
94-
ifself:
95-
n%=len(self)
96-
foriinrange(n):
97-
self.appendleft(self.pop())
98-
99-
def__getitem__(self,i):
100-
ifi<0:
101-
i+=len(self)
102-
try:
103-
returnself.data[i+self.left]
104-
exceptKeyError:
105-
raiseIndexError
106-
107-
def__setitem__(self,i,value):
108-
ifi<0:
109-
i+=len(self)
110-
try:
111-
self.data[i+self.left]=value
112-
exceptKeyError:
113-
raiseIndexError
114-
115-
def__delitem__(self,i):
116-
size=len(self)
117-
ifnot (-size<=i<size):
118-
raiseIndexError
119-
data=self.data
120-
ifi<0:
121-
i+=size
122-
forjinrange(self.left+i,self.right-1):
123-
data[j]=data[j+1]
124-
self.pop()
125-
126-
def__len__(self):
127-
returnself.right-self.left
128-
129-
def__cmp__(self,other):
130-
iftype(self)!=type(other):
131-
returncmp(type(self),type(other))
132-
returncmp(list(self),list(other))
133-
134-
def__repr__(self,_track=[]):
135-
ifid(self)in_track:
136-
return'...'
137-
_track.append(id(self))
138-
r='deque(%r)'% (list(self),)
139-
_track.remove(id(self))
140-
returnr
141-
142-
def__getstate__(self):
143-
return (tuple(self),)
144-
145-
def__setstate__(self,s):
146-
self.__init__(s[0])
147-
148-
def__hash__(self):
149-
raiseTypeError
150-
151-
def__copy__(self):
152-
returnself.__class__(self)
153-
154-
def__deepcopy__(self,memo={}):
155-
fromcopyimportdeepcopy
156-
result=self.__class__()
157-
memo[id(self)]=result
158-
result.__init__(deepcopy(tuple(self),memo))
159-
returnresult
16034

16135
#Some utility functions to dal with weirdness around UCS2 vs UCS4
16236
#python builds

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp