]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/python/notmuch/tag.py
properly raise exceptions in python bindings
[notmuch] / bindings / python / notmuch / tag.py
index f79a17867640700529d930c9f0d59cd61c7a68fb..50e3686b6580d65369ac3178d988d90c1837d932 100644 (file)
@@ -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
@@ -86,7 +86,7 @@ class Tags(object):
         if not nmlib.notmuch_tags_valid(self._tags):
             self._tags = None
             raise StopIteration
-        tag = Tags._get(self._tags).decode('utf-8')
+        tag = Tags._get(self._tags).decode('UTF-8')
         nmlib.notmuch_tags_move_to_next(self._tags)
         return tag
 
@@ -101,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