]> git.cworth.org Git - obsolete/notmuch-old/blobdiff - bindings/python/notmuch/tag.py
python: cleanup the __nonzero__ implementations
[obsolete/notmuch-old] / bindings / python / notmuch / tag.py
index e0598139a0d44f7499f4ebaf1d3f6fda3f0d41e2..363c3487fff0a2d8e06c354530f97256da89286b 100644 (file)
@@ -109,15 +109,15 @@ class Tags(Python3StringMixIn):
     next = __next__ # python2.x iterator protocol compatibility
 
     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 self._valid(self._tags) > 0
+        '''
+        Implement truth value testing. If __nonzero__ is not
+        implemented, the python runtime would fall back to `len(..) >
+        0` thus exhausting the iterator.
+
+        :returns: True if the wrapped iterator has at least one more object
+                  left.
+        '''
+        return self._tags and self._valid(self._tags)
 
     def __unicode__(self):
         """string representation of :class:`Tags`: a space separated list of tags