コード例 #1
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
コード例 #2
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
コード例 #3
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