python: Add binding for notmuch_query_add_tag_exclude
authorThibaut Horel <thibaut.horel@gmail.com>
Mon, 11 Aug 2014 04:43:54 +0000 (00:43 -0400)
committerDavid Bremner <david@tethera.net>
Tue, 23 Sep 2014 16:23:39 +0000 (18:23 +0200)
Implemented as the method `exclude_tag` of the class `Query`. This method takes
one argument, a string containing the name of the tag to exclude.

NEWS
bindings/python/docs/source/query.rst
bindings/python/notmuch/query.py

diff --git a/NEWS b/NEWS
index f7aaedf91d07f580ba2eb7be7dacadc986c08bbe..2d85090eba31455f93d217176029fb50a1f44416 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,11 @@ from the config file.  Use something like:
       ...
     },
 
+Python Bindings
+---------------
+
+Add support for `notmuch_query_add_tag_exclude`
+
 Notmuch 0.18.1 (2014-06-25)
 ===========================
 
index ddfc3485884e28520061b090edec04f3db52bad4..044b5735d39b8bb8c837583f0ffbb76c7d9120bd 100644 (file)
@@ -32,6 +32,8 @@
       :attr:`Query.SORT`) if explicitely specified via
       :meth:`set_sort`. By default it is set to `None`.
 
+   .. automethod:: exclude_tag
+
    .. automethod:: search_threads
 
    .. automethod:: search_messages
index b11a399d2cf7f592922e1c09d06880c5b63d0ea2..94773ac508e37c6cfcd7fd68293fd637e08d3199 100644 (file)
@@ -118,6 +118,21 @@ class Query(object):
         self.sort = sort
         self._set_sort(self._query, sort)
 
+    _exclude_tag = nmlib.notmuch_query_add_tag_exclude
+    _exclude_tag.argtypes = [NotmuchQueryP, c_char_p]
+    _exclude_tag.resttype = None
+
+    def exclude_tag(self, tagname):
+        """Add a tag that will be excluded from the query results by default.
+
+        This exclusion will be overridden if this tag appears explicitly in the
+        query.
+
+        :param tagname: Name of the tag to be excluded
+        """
+        self._assert_query_is_initialized()
+        self._exclude_tag(self._query, _str(tagname))
+
     """notmuch_query_search_threads"""
     _search_threads = nmlib.notmuch_query_search_threads
     _search_threads.argtypes = [NotmuchQueryP]