implement notmuch dump and Messages.len()
authorSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 15:09:42 +0000 (16:09 +0100)
committerSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 15:09:42 +0000 (16:09 +0100)
--HG--
extra : transplant_source : %03_%C7%99L%16%7E%A8%B1p%11%11%A0%E3h%A3%AB%B6%FB%86

cnotmuch/database.py
notmuch

index 19460b339e6d9942b093c3155fa6c3575a78e432..8d6124cbc9e816a227b5d7dfeeaa3006519f44b3 100644 (file)
@@ -253,6 +253,13 @@ class Tags(object):
         nmlib.notmuch_tags_move_to_next(self._tags)
         return tag
 
+    def __str__(self):
+        """str() of Tags() is a space separated list of tags
+
+        This iterates over the list of Tags and will therefore 'exhaust' Tags()
+        """
+        return " ".join(self)
+
     def __del__(self):
         """Close and free the notmuch tags"""
         if self._tags is not None:
diff --git a/notmuch b/notmuch
index 56f961b47d581f68172d2e9114b9190d6ff7a10d..172464c10bc3009383aac01a01db4f5990281ec1 100755 (executable)
--- a/notmuch
+++ b/notmuch
@@ -135,9 +135,17 @@ if __name__ == '__main__':
          querystr = quote_query_line(sys.argv[2:])
          logging.debug("search-term "+querystr)
          db = Database()
-         m  = Query(db,querystr).search_messages()
+         q  = Query(db,querystr)
+         #TODO: notmuch_query_set_sort (query, NOTMUCH_SORT_MESSAGE_ID);
+         m = q.search_messages()
          print("\n".join([t for t in m.collect_tags()]))
 
+   elif sys.argv[1] == 'dump':
+      db = Database()
+      msgs = Query(db,'').search_messages()
+      for msg in msgs:
+         print("%s (%s)" % (msg.get_message_id(), msg.get_tags()))
+
    else:
        # unknown command
        print "Error: Unknown command '%s' (see \"notmuch help\")" % sys.argv[1]
@@ -153,10 +161,6 @@ show       <search-terms> [...]
 
        Show all messages matching the search terms.
 
-count  <search-terms> [...]
-
-       Count messages matching the search terms.
-
 reply  [options...] <search-terms> [...]
 
        Construct a reply template for a set of messages.