Mercurial > public > mercurial-scm > hg
comparison mercurial/smartset.py @ 31476:413b44003462
py3: add __bool__ to every class defining __nonzero__
__nonzero__ was renamed to __bool__ in Python 3. This patch simply
aliases __bool__ to __nonzero__ for every class implementing
__nonzero__.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 13 Mar 2017 12:40:14 -0700 |
parents | 9a94239e4f12 |
children | 2cfdf5241096 |
comparison
equal
deleted
inserted
replaced
31475:1b9b00aca8a3 | 31476:413b44003462 |
---|---|
37 class abstractsmartset(object): | 37 class abstractsmartset(object): |
38 | 38 |
39 def __nonzero__(self): | 39 def __nonzero__(self): |
40 """True if the smartset is not empty""" | 40 """True if the smartset is not empty""" |
41 raise NotImplementedError() | 41 raise NotImplementedError() |
42 | |
43 __bool__ = __nonzero__ | |
42 | 44 |
43 def __contains__(self, rev): | 45 def __contains__(self, rev): |
44 """provide fast membership testing""" | 46 """provide fast membership testing""" |
45 raise NotImplementedError() | 47 raise NotImplementedError() |
46 | 48 |
265 return self._set.__contains__ | 267 return self._set.__contains__ |
266 | 268 |
267 def __nonzero__(self): | 269 def __nonzero__(self): |
268 return bool(len(self)) | 270 return bool(len(self)) |
269 | 271 |
272 __bool__ = __nonzero__ | |
273 | |
270 def sort(self, reverse=False): | 274 def sort(self, reverse=False): |
271 self._ascending = not bool(reverse) | 275 self._ascending = not bool(reverse) |
272 self._istopo = False | 276 self._istopo = False |
273 | 277 |
274 def reverse(self): | 278 def reverse(self): |
417 it = self | 421 it = self |
418 | 422 |
419 for r in it: | 423 for r in it: |
420 return True | 424 return True |
421 return False | 425 return False |
426 | |
427 __bool__ = __nonzero__ | |
422 | 428 |
423 def __len__(self): | 429 def __len__(self): |
424 # Basic implementation to be changed in future patches. | 430 # Basic implementation to be changed in future patches. |
425 # until this gets improved, we use generator expression | 431 # until this gets improved, we use generator expression |
426 # here, since list comprehensions are free to call __len__ again | 432 # here, since list comprehensions are free to call __len__ again |
590 return len(self._list) | 596 return len(self._list) |
591 | 597 |
592 def __nonzero__(self): | 598 def __nonzero__(self): |
593 return bool(self._r1) or bool(self._r2) | 599 return bool(self._r1) or bool(self._r2) |
594 | 600 |
601 __bool__ = __nonzero__ | |
602 | |
595 @util.propertycache | 603 @util.propertycache |
596 def _list(self): | 604 def _list(self): |
597 if not self._genlist: | 605 if not self._genlist: |
598 self._genlist = baseset(iter(self)) | 606 self._genlist = baseset(iter(self)) |
599 return self._genlist | 607 return self._genlist |
750 return True | 758 return True |
751 for r in self._consumegen(): | 759 for r in self._consumegen(): |
752 return True | 760 return True |
753 return False | 761 return False |
754 | 762 |
763 __bool__ = __nonzero__ | |
764 | |
755 def __contains__(self, x): | 765 def __contains__(self, x): |
756 if x in self._cache: | 766 if x in self._cache: |
757 return self._cache[x] | 767 return self._cache[x] |
758 | 768 |
759 # Use new values only, as existing values would be cached. | 769 # Use new values only, as existing values would be cached. |
968 def __nonzero__(self): | 978 def __nonzero__(self): |
969 for r in self: | 979 for r in self: |
970 return True | 980 return True |
971 return False | 981 return False |
972 | 982 |
983 __bool__ = __nonzero__ | |
984 | |
973 def __len__(self): | 985 def __len__(self): |
974 if not self._hiddenrevs: | 986 if not self._hiddenrevs: |
975 return abs(self._end - self._start) | 987 return abs(self._end - self._start) |
976 else: | 988 else: |
977 count = 0 | 989 count = 0 |