mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-26 12:55:18 +01:00
Fix iterator classes to not skip the first element when iterating
--HG-- extra : transplant_source : %19wvB%19A%0A%CD%E7%28-%F0%12j%7FG%0DD%16%F4
This commit is contained in:
parent
bb5870b9af
commit
e026813bcb
1 changed files with 11 additions and 6 deletions
|
@ -239,16 +239,19 @@ class Tags(object):
|
|||
|
||||
def __iter__(self):
|
||||
""" Make Tags an iterator """
|
||||
if self._tags is None:
|
||||
raise NotmuchError(STATUS.NOT_INITIALIZED)
|
||||
return self
|
||||
|
||||
def next(self):
|
||||
nmlib.notmuch_tags_move_to_next(self._tags)
|
||||
if self._tags is None:
|
||||
raise NotmuchError(STATUS.NOT_INITIALIZED)
|
||||
|
||||
if not nmlib.notmuch_tags_valid(self._tags):
|
||||
self._tags = None
|
||||
raise StopIteration
|
||||
return Tags._get (self._tags)
|
||||
|
||||
tag = Tags._get (self._tags)
|
||||
nmlib.notmuch_tags_move_to_next(self._tags)
|
||||
return tag
|
||||
|
||||
def __del__(self):
|
||||
"""Close and free the notmuch tags"""
|
||||
|
@ -296,11 +299,13 @@ class Messages(object):
|
|||
if self._msgs is None:
|
||||
raise NotmuchError(STATUS.NOT_INITIALIZED)
|
||||
|
||||
nmlib.notmuch_messages_move_to_next(self._msgs)
|
||||
if not nmlib.notmuch_messages_valid(self._msgs):
|
||||
self._msgs = None
|
||||
raise StopIteration
|
||||
return Message(Messages._get (self._msgs), self)
|
||||
|
||||
msg = Message(Messages._get (self._msgs), self)
|
||||
nmlib.notmuch_messages_move_to_next(self._msgs)
|
||||
return msg
|
||||
|
||||
def __del__(self):
|
||||
"""Close and free the notmuch Messages"""
|
||||
|
|
Loading…
Reference in a new issue