equal
deleted
inserted
replaced
2619 def __init__(self, gen, iterasc=None): |
2619 def __init__(self, gen, iterasc=None): |
2620 """ |
2620 """ |
2621 gen: a generator producing the values for the generatorset. |
2621 gen: a generator producing the values for the generatorset. |
2622 """ |
2622 """ |
2623 self._gen = gen |
2623 self._gen = gen |
|
2624 self._asclist = None |
2624 self._cache = {} |
2625 self._cache = {} |
2625 self._genlist = [] |
2626 self._genlist = [] |
2626 self._finished = False |
2627 self._finished = False |
2627 if iterasc is not None: |
2628 if iterasc is not None: |
2628 if iterasc: |
2629 if iterasc: |
2710 genlist = self._genlist.append |
2711 genlist = self._genlist.append |
2711 for item in self._gen: |
2712 for item in self._gen: |
2712 cache[item] = True |
2713 cache[item] = True |
2713 genlist(item) |
2714 genlist(item) |
2714 yield item |
2715 yield item |
2715 self._finished = True |
2716 if not self._finished: |
|
2717 self._finished = True |
|
2718 asc = self._genlist[:] |
|
2719 asc.sort() |
|
2720 self._asclist = asc |
|
2721 self.fastasc = asc.__iter__ |
|
2722 self.fastdesc = asc.__reversed__ |
2716 |
2723 |
2717 def set(self): |
2724 def set(self): |
2718 return self |
2725 return self |
2719 |
2726 |
2720 def sort(self, reverse=False): |
2727 def sort(self, reverse=False): |