]> git.notmuchmail.org Git - notmuch/blobdiff - cnotmuch/database.py
implement stub for notmuch show. Remove finished ToDo items
[notmuch] / cnotmuch / database.py
index 8d6124cbc9e816a227b5d7dfeeaa3006519f44b3..1619e454193eaeceedc5ba1d0db7bcb9151c126c 100644 (file)
@@ -185,6 +185,16 @@ class Query(object):
             NotmuchError(STATUS.NULL_POINTER)
         self._query = query_p
 
+    def set_sort(self, sort):
+        """notmuch_query_set_sort
+
+        :param sort: one of Query.SORT_OLDEST_FIRST|SORT_NEWEST_FIRST|SORT_MESSAGE_ID
+        :returns: Nothing, but raises NotmuchError if query is not inited
+        """
+        if self._query is None:
+            raise NotmuchError(STATUS.NOT_INITIALIZED)
+
+        nmlib.notmuch_query_set_sort(self._query, sort)
 
     def search_messages(self):
         """notmuch_query_search_messages
@@ -215,12 +225,12 @@ class Tags(object):
     _get = nmlib.notmuch_tags_get
     _get.restype = c_char_p
 
-    def __init__(self, tags_p, db=None):
+    def __init__(self, tags_p, parent=None):
         """
         msg_p is a pointer to an notmuch_message_t Structure. If it is None,
         we will raise an NotmuchError(STATUS.NULL_POINTER).
 
-        Is passed the db these tags are derived from, and saves a
+        Is passed the parent these tags are derived from, and saves a
         reference to it, so we can automatically delete the db object
         once all derived objects are dead.
 
@@ -234,8 +244,9 @@ class Tags(object):
             NotmuchError(STATUS.NULL_POINTER)
 
         self._tags = tags_p
-        self._db = db
-        logging.debug("Inited Tags derived from %s" %(str(db)))
+        #save reference to parent object so we keep it alive
+        self._parent = parent
+        logging.debug("Inited Tags derived from %s" %(repr(parent)))
     
     def __iter__(self):
         """ Make Tags an iterator """
@@ -426,6 +437,11 @@ class Message(object):
             raise NotmuchError(STATUS.NULL_POINTER)
         return Tags(tags_p, self)
 
+    def __str__(self):
+        """A message() is represented by a 1-line summary"""
+        tags = str(self.get_tags())
+        return "TODO: FIXME Sebastian Krzyszkowiak <seba.dos1@gmail.com> (2009-08-27) (%s)" % (tags)
+
     def __del__(self):
         """Close and free the notmuch Message"""
         if self._msg is not None: