mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
bindings/python: implement Threads().__nonzero__
__nonzero__ checks if Threads() contains at least one more valid thread The existence of this function makes 'if Threads(): foo' work, as that previously implicitely called len() exhausting the iterator. This function makes `bool(Threads())` work repeatedly. For further info, see http://docs.python.org/reference/datamodel.html. Credits for the hint go to Brian May. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
4d406d9c25
commit
01cc4a3115
1 changed files with 12 additions and 0 deletions
|
@ -141,7 +141,19 @@ class Threads(object):
|
|||
self._threads = None
|
||||
return i
|
||||
|
||||
def __nonzero__(self):
|
||||
"""Check if :class:`Threads` contains at least one more valid thread
|
||||
|
||||
The existence of this function makes 'if Threads: foo' work, as
|
||||
that will implicitely call len() exhausting the iterator if
|
||||
__nonzero__ does not exist. This function makes `bool(Threads())`
|
||||
work repeatedly.
|
||||
|
||||
:return: True if there is at least one more thread in the
|
||||
Iterator, False if not. None on a "Out-of-memory" error.
|
||||
"""
|
||||
return self._threads is not None and \
|
||||
nmlib.notmuch_threads_valid(self._threads) > 0
|
||||
|
||||
def __del__(self):
|
||||
"""Close and free the notmuch Threads"""
|
||||
|
|
Loading…
Reference in a new issue