X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Ftag.py;h=d2dc498ca589b9622ba31c7c7c7dd372653660bb;hp=2fb7d3287a8413e295b1e9b5b2840d9d06bdb476;hb=bf6039e34eca52ccf7fe1db51e1b5c843a9828f3;hpb=ffe3097e58220d96c7a18b1b6062330551378b82 diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py index 2fb7d328..d2dc498c 100644 --- a/bindings/python/notmuch/tag.py +++ b/bindings/python/notmuch/tag.py @@ -17,10 +17,10 @@ along with notmuch. If not, see . Copyright 2010 Sebastian Spaeth ' """ from ctypes import c_char_p -from notmuch.globals import nmlib, STATUS, NotmuchError, NotmuchTagsP +from notmuch.globals import nmlib, STATUS, NotmuchError, NotmuchTagsP, Python3StringMixIn -class Tags(object): +class Tags(Python3StringMixIn): """Represents a list of notmuch tags This object provides an iterator over a list of notmuch tags (which @@ -70,7 +70,7 @@ class Tags(object): :TODO: Make the iterator optionally work more than once by cache the tags in the Python object(?) """ - if tags_p is None: + if not tags_p: raise NotmuchError(STATUS.NULL_POINTER) self._tags = tags_p @@ -89,7 +89,7 @@ class Tags(object): _move_to_next.argtypes = [NotmuchTagsP] _move_to_next.restype = None - def next(self): + def __next__(self): if self._tags is None: raise NotmuchError(STATUS.NOT_INITIALIZED) if not self._valid(self._tags): @@ -98,6 +98,7 @@ class Tags(object): tag = Tags._get(self._tags).decode('UTF-8') self._move_to_next(self._tags) return tag + next = __next__ # python2.x iterator protocol compatibility def __nonzero__(self): """Implement bool(Tags) check that can be repeatedly used @@ -110,9 +111,6 @@ class Tags(object): left.""" return self._valid(self._tags) > 0 - def __str__(self): - return unicode(self).encode('utf-8') - def __unicode__(self): """string representation of :class:`Tags`: a space separated list of tags