If we try to pull a non-existing tag, Tags._get will return None and the
appended .decode() command will fail. So make sure that there is a tag to
be fetched before fetching it.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
def next(self):
if self._tags is None:
raise NotmuchError(STATUS.NOT_INITIALIZED)
- # No need to call nmlib.notmuch_tags_valid(self._tags);
- # Tags._get safely returns None, if there is no more valid tag.
- tag = Tags._get(self._tags).decode('utf-8')
- if tag is None:
+ if not nmlib.notmuch_tags_valid(self._tags):
self._tags = None
raise StopIteration
+ tag = Tags._get(self._tags).decode('utf-8')
nmlib.notmuch_tags_move_to_next(self._tags)
return tag