X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Ftag.py;h=50e3686b6580d65369ac3178d988d90c1837d932;hb=f3ad20b20a1be5eac3c1de9b2814dbec8664e721;hp=0ce6f9ae46c7ade1ae36f6fc2a1a7ba571b339e6;hpb=be7947f4590a8e7d4c3893868e523fdacb621305;p=notmuch diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py index 0ce6f9ae..50e3686b 100644 --- a/bindings/python/notmuch/tag.py +++ b/bindings/python/notmuch/tag.py @@ -70,7 +70,7 @@ class Tags(object): cache the tags in the Python object(?) """ if tags_p is None: - NotmuchError(STATUS.NULL_POINTER) + raise NotmuchError(STATUS.NULL_POINTER) self._tags = tags_p #save reference to parent object so we keep it alive @@ -83,12 +83,10 @@ class Tags(object): 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 @@ -103,25 +101,6 @@ class Tags(object): left.""" return nmlib.notmuch_tags_valid(self._tags) > 0 - def __len__(self): - """len(:class:`Tags`) returns the number of contained tags - - .. note:: As this iterates over the tags, we will not be able - to iterate over them again (as in retrieve them)! If - the tags have been exhausted already, this will raise a - :exc:`NotmuchError` STATUS.NOT_INITIALIZED on - subsequent attempts. - """ - if self._tags is None: - raise NotmuchError(STATUS.NOT_INITIALIZED) - - i = 0 - while nmlib.notmuch_tags_valid(self._tags): - nmlib.notmuch_tags_move_to_next(self._tags) - i += 1 - self._tags = None - return i - def __str__(self): """The str() representation of Tags() is a space separated list of tags