X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Ftag.py;h=2f82c1a1d8b5d060b7816ea229cc1032ff4976e7;hb=c49bcfd4e2b539e65b0b4d59a414c2101f5178a2;hp=e123b0f317059f4429125482a3941f325af9d4f5;hpb=aeecafa694e8296411ad21cee1b7de094600babf;p=notmuch diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py index e123b0f3..2f82c1a1 100644 --- a/bindings/python/notmuch/tag.py +++ b/bindings/python/notmuch/tag.py @@ -23,10 +23,12 @@ from notmuch.globals import nmlib, STATUS, NotmuchError class Tags(object): """Represents a list of notmuch tags - This object provides an iterator over a list of notmuch tags. Do - note that the underlying library only provides a one-time iterator - (it cannot reset the iterator to the start). Thus iterating over - the function will "exhaust" the list of tags, and a subsequent + This object provides an iterator over a list of notmuch tags (which + are unicode instances). + + Do note that the underlying library only provides a one-time + iterator (it cannot reset the iterator to the start). Thus iterating + over the function will "exhaust" the list of tags, and a subsequent iteration attempt will raise a :exc:`NotmuchError` STATUS.NOT_INITIALIZED. Also note, that any function that uses iteration (nearly all) will also exhaust the tags. So both:: @@ -83,7 +85,7 @@ class Tags(object): 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) + tag = Tags._get(self._tags).decode('utf-8') if tag is None: self._tags = None raise StopIteration @@ -114,8 +116,8 @@ class Tags(object): raise NotmuchError(STATUS.NOT_INITIALIZED) i=0 - while nmlib.notmuch_tags_valid(self._msgs): - nmlib.notmuch_tags_move_to_next(self._msgs) + while nmlib.notmuch_tags_valid(self._tags): + nmlib.notmuch_tags_move_to_next(self._tags) i += 1 self._tags = None return i