50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
while True:
pair = self.pop()
if pair[0] == None:
break
pairs += pair,
last_pair = self.__bottom
for pair in pairs:
if last_pair in self.__pairs and pair[0] <= self.__pairs[last_pair] and pair[1] > self.__pairs[last_pair]:
self.__pairs[last_pair] = pair[1]
del(self.__pairs[pair[0]])
else:
last_pair = pair[0]
self.clear()
def rewind(self):
'''Reinitialises internal ordered list of ranges.'''
self.__walk_list = list(self.__pairs.keys())
|
|
>
|
|
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
while True:
pair = self.pop()
if pair[0] == None:
break
pairs += pair,
last_pair = self.__bottom
for pair in pairs:
if last_pair in self.__pairs and pair[0] <= self.__pairs[last_pair]:
if pair[1] > self.__pairs[last_pair]:
self.__pairs[last_pair] = pair[1]
del(self.__pairs[pair[0]])
else:
last_pair = pair[0]
self.clear()
def rewind(self):
'''Reinitialises internal ordered list of ranges.'''
self.__walk_list = list(self.__pairs.keys())
|
332
333
334
335
336
337
338
|
elif end == None or this[1] > end:
end = this[1]
self.clear()
return(end)
def __len__(self):
return(len(self.__pairs))
|
>
>
>
>
>
>
>
|
333
334
335
336
337
338
339
340
341
342
343
344
345
346
|
elif end == None or this[1] > end:
end = this[1]
self.clear()
return(end)
def __len__(self):
return(len(self.__pairs))
def max(self):
result = None
for last in self.__pairs.itervalues():
if result == None or result < last:
result = last
return(result)
|