]> git.notmuchmail.org Git - notmuch/commitdiff
implement stub for notmuch show. Remove finished ToDo items
authorSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 15:41:33 +0000 (16:41 +0100)
committerSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 15:41:33 +0000 (16:41 +0100)
--HG--
extra : transplant_source : 2%0B%97h%40Af%07%DD%F2%5ESX%20%05%3D%C0%C5v%F8

cnotmuch/database.py
notmuch

index 09af0df964d15822e2606d76a64a68454fd2c9ba..1619e454193eaeceedc5ba1d0db7bcb9151c126c 100644 (file)
@@ -225,12 +225,12 @@ class Tags(object):
     _get = nmlib.notmuch_tags_get
     _get.restype = c_char_p
 
     _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).
 
         """
         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.
 
         reference to it, so we can automatically delete the db object
         once all derived objects are dead.
 
@@ -244,8 +244,9 @@ class Tags(object):
             NotmuchError(STATUS.NULL_POINTER)
 
         self._tags = tags_p
             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 """
     
     def __iter__(self):
         """ Make Tags an iterator """
@@ -436,6 +437,11 @@ class Message(object):
             raise NotmuchError(STATUS.NULL_POINTER)
         return Tags(tags_p, self)
 
             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:
     def __del__(self):
         """Close and free the notmuch Message"""
         if self._msg is not None:
diff --git a/notmuch b/notmuch
index 478aed3ab0108fd79fac1d524fbcf03623b68e42..4e259c1c201815bfeba12760409e5a34e30f7ff8 100755 (executable)
--- a/notmuch
+++ b/notmuch
@@ -111,6 +111,19 @@ if __name__ == '__main__':
        if len(sys.argv) == 2: print HELPTEXT
        else: print "Not implemented"
 
        if len(sys.argv) == 2: print HELPTEXT
        else: print "Not implemented"
 
+   elif sys.argv[1] == 'show':
+      db = Database()
+      if len(sys.argv) == 2:
+         #no further search term
+         querystr=''
+      else:
+         #mangle arguments wrapping terms with spaces in quotes
+         querystr = quote_query_line(sys.argv[2:])
+      logging.debug("show "+querystr)
+      m = Query(db,querystr).search_messages()
+      for msg in m:
+         print("%s" % (msg))
+
    elif sys.argv[1] == 'new':
        #TODO: handle --verbose
        print "Not implemented."
    elif sys.argv[1] == 'new':
        #TODO: handle --verbose
        print "Not implemented."
@@ -155,27 +168,8 @@ if __name__ == '__main__':
    #TODO: implement
    """
 search [options...] <search-terms> [...]
    #TODO: implement
    """
 search [options...] <search-terms> [...]
-
-       Search for messages matching the given search terms.
-
 show   <search-terms> [...]
 show   <search-terms> [...]
-
-       Show all messages matching the search terms.
-
 reply  [options...] <search-terms> [...]
 reply  [options...] <search-terms> [...]
-
-       Construct a reply template for a set of messages.
-
 tag    +<tag>|-<tag> [...] [--] <search-terms> [...]
 tag    +<tag>|-<tag> [...] [--] <search-terms> [...]
-
-       Add/remove tags for all messages matching the search terms.
-
-dump   [<filename>]
-
-       Create a plain-text dump of the tags for each message.
-
 restore        <filename>
 restore        <filename>
-       search-tags     [<search-terms> [...] ]
-
-               List all tags found in the database or matching messages.
    """
    """