예제 #1
0
파일: tag.py 프로젝트: fgeller/notmuch-fork
 def next(self):
     if self._tags is None:
         raise NotmuchError(STATUS.NOT_INITIALIZED)
     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
예제 #2
0
파일: tag.py 프로젝트: chaoflow/notmuch
 def next(self):
     if self._tags is None:
         raise NotmuchError(STATUS.NOT_INITIALIZED)
     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
예제 #3
0
파일: tag.py 프로젝트: fgeller/notmuch-fork
    def __nonzero__(self):
        """Implement bool(Tags) check that can be repeatedly used

        If __nonzero__ is not implemented, "if Tags()"
        will implicitly call __len__, using up our iterator, so it is
        important that this function is defined.

        :returns: True if the Tags() iterator has at least one more Tag
            left."""
        return nmlib.notmuch_tags_valid(self._tags) > 0
예제 #4
0
파일: tag.py 프로젝트: chaoflow/notmuch
    def __nonzero__(self):
        """Implement bool(Tags) check that can be repeatedly used

        If __nonzero__ is not implemented, "if Tags()"
        will implicitly call __len__, using up our iterator, so it is
        important that this function is defined.

        :returns: True if the Tags() iterator has at least one more Tag
            left."""
        return nmlib.notmuch_tags_valid(self._tags) > 0
예제 #5
0
파일: tag.py 프로젝트: felipec/notmuch
    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._msgs):
            nmlib.notmuch_tags_move_to_next(self._msgs)
            i += 1
        self._tags = None
        return i