python: wrap notmuch_query_count_threads as Query.count_threads
authorJustus Winter <4winter@informatik.uni-hamburg.de>
Sat, 18 Feb 2012 00:32:21 +0000 (01:32 +0100)
committerJustus Winter <4winter@informatik.uni-hamburg.de>
Sat, 18 Feb 2012 00:39:39 +0000 (01:39 +0100)
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
bindings/python/docs/source/index.rst
bindings/python/notmuch/query.py

index f7d3d6058e3b058a171da31a365d57b2b02abd0f..5405de8ec06e6344e668101cf967ca1410590c3e 100644 (file)
@@ -128,6 +128,8 @@ More information on specific topics can be found on the following pages:
 
    .. automethod:: count_messages
 
+   .. automethod:: count_threads
+
 
 :class:`Messages` -- A bunch of messages
 ----------------------------------------
index d4a93d5b6bf237299e906cc699d7d92a2fbe9c7f..14c00cd53cd64f802f6bfe39b536649e544a99cc 100644 (file)
@@ -182,6 +182,25 @@ class Query(object):
         self._assert_query_is_initialized()
         return Query._count_messages(self._query)
 
+    _count_threads = nmlib.notmuch_query_count_threads
+    _count_threads.argtypes = [NotmuchQueryP]
+    _count_threads.restype = c_uint
+
+    def count_threads(self):
+        '''
+        This function performs a search and returns the number of
+        unique thread IDs in the matching messages. This is the same
+        as number of threads matching a search.
+
+        Note that this is a significantly heavier operation than
+        meth:`Query.count_messages`.
+
+        :returns: the number of threads returned by this query
+        :rtype:   int
+        '''
+        self._assert_query_is_initialized()
+        return Query._count_threads(self._query)
+
     _destroy = nmlib.notmuch_query_destroy
     _destroy.argtypes = [NotmuchQueryP]
     _destroy.restype = None