Show More
@@ -278,7 +278,6 b' if ispy3:' | |||||
278 | hasattr = _wrapattrfunc(builtins.hasattr) |
|
278 | hasattr = _wrapattrfunc(builtins.hasattr) | |
279 | setattr = _wrapattrfunc(builtins.setattr) |
|
279 | setattr = _wrapattrfunc(builtins.setattr) | |
280 | xrange = builtins.range |
|
280 | xrange = builtins.range | |
281 | membershiprange = builtins.range |
|
|||
282 | unicode = str |
|
281 | unicode = str | |
283 |
|
282 | |||
284 | def open(name, mode='r', buffering=-1, encoding=None): |
|
283 | def open(name, mode='r', buffering=-1, encoding=None): | |
@@ -344,25 +343,6 b' else:' | |||||
344 | strurl = identity |
|
343 | strurl = identity | |
345 | bytesurl = identity |
|
344 | bytesurl = identity | |
346 |
|
345 | |||
347 | class membershiprange(object): |
|
|||
348 | "Like xrange(a,b) but with constant-time membership test" |
|
|||
349 | def __init__(self, a, b): |
|
|||
350 | self._range = xrange(a, b) |
|
|||
351 | def __getitem__(self, n): |
|
|||
352 | return self._range[n] |
|
|||
353 | def __hash__(self): |
|
|||
354 | return hash(self._range) |
|
|||
355 | def __iter__(self): |
|
|||
356 | return iter(self._range) |
|
|||
357 | def __len__(self): |
|
|||
358 | return len(self._range) |
|
|||
359 | def __reversed__(self): |
|
|||
360 | return reversed(self._range) |
|
|||
361 | def __contains__(self, n): |
|
|||
362 | if not self._range: |
|
|||
363 | return False |
|
|||
364 | return n >= self._range[0] and n <= self._range[-1] |
|
|||
365 |
|
||||
366 | # this can't be parsed on Python 3 |
|
346 | # this can't be parsed on Python 3 | |
367 | exec('def raisewithtb(exc, tb):\n' |
|
347 | exec('def raisewithtb(exc, tb):\n' | |
368 | ' raise exc, None, tb\n') |
|
348 | ' raise exc, None, tb\n') |
General Comments 0
You need to be logged in to leave comments.
Login now