use logging.debug for debug output. Implement notmuch search-tags
authorSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 13:57:07 +0000 (14:57 +0100)
committerSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 13:57:07 +0000 (14:57 +0100)
--HG--
extra : transplant_source : %BAn%2B%93B%1EkU8%A6-I%5D%E1%E4%2B%D6E%0C%F5

cnotmuch/database.py
notmuch

index d13294334f4ab2050e3418795e0d0b9a69273c73..cdcd31c028a2caa2cee6c3ff607ec714b023b860 100644 (file)
@@ -1,7 +1,7 @@
 import ctypes
 from ctypes import c_int, c_char_p, c_void_p
 from cnotmuch.globals import nmlib, STATUS, NotmuchError
-
+import logging
 
 class Database(object):
     """ Wrapper around a notmuch_database_t
@@ -121,7 +121,7 @@ class Database(object):
     def __del__(self):
         """Close and free the notmuch database if needed"""
         if self._db is not None:
-            print("Freeing the database now")
+            logging.debug("Freeing the database now")
             nmlib.notmuch_database_close(self._db)
 
     def _get_user_default_db(self):
@@ -204,7 +204,7 @@ class Query(object):
     def __del__(self):
         """Close and free the Query"""
         if self._query is not None:
-            print("Freeing the Query now")
+            logging.debug("Freeing the Query now")
             nmlib.notmuch_query_destroy (self._query)
 
 #------------------------------------------------------------------------------
@@ -235,7 +235,7 @@ class Tags(object):
 
         self._tags = tags_p
         self._db = db
-        print "Inited Tags derived from %s" %(str(db))
+        logging.debug("Inited Tags derived from %s" %(str(db)))
     
     def __iter__(self):
         """ Make Tags an iterator """
@@ -253,7 +253,7 @@ class Tags(object):
     def __del__(self):
         """Close and free the notmuch tags"""
         if self._tags is not None:
-            print("Freeing the Tags now")
+            logging.debug("Freeing the Tags now")
             nmlib.notmuch_tags_destroy (self._tags)
 
 
@@ -286,7 +286,7 @@ class Messages(object):
         self._msgs = msgs_p
         #store parent, so we keep them alive as long as self  is alive
         self._parent = parent
-        print "Inited Messages derived from %s" %(str(parent))
+        logging.debug("Inited Messages derived from %s" %(str(parent)))
     
     def __iter__(self):
         """ Make Messages an iterator """
@@ -305,7 +305,7 @@ class Messages(object):
     def __del__(self):
         """Close and free the notmuch Messages"""
         if self._msgs is not None:
-            print("Freeing the Messages now")
+            logging.debug("Freeing the Messages now")
             nmlib.notmuch_messages_destroy (self._msgs)
 
 
@@ -338,7 +338,7 @@ class Message(object):
         self._msg = msg_p
         #keep reference to parent, so we keep it alive
         self._parent = parent
-        print "Inited Message derived from %s" %(str(parent))
+        logging.debug("Inited Message derived from %s" %(str(parent)))
 
 
     def get_message_id(self):
@@ -377,5 +377,5 @@ class Message(object):
     def __del__(self):
         """Close and free the notmuch Message"""
         if self._msg is not None:
-            print("Freeing the Message now")
+            logging.debug("Freeing the Message now")
             nmlib.notmuch_message_destroy (self._msg)
diff --git a/notmuch b/notmuch
index abd44854e3c404f0d121f73186d67a26b40216c8..c89777e33c8b39b4fce28ddc9d89238650845fc3 100755 (executable)
--- a/notmuch
+++ b/notmuch
@@ -1,11 +1,8 @@
 #!/usr/bin/env python
 """This is a notmuch implementation in python. It's goal is to allow running the test suite on the cnotmuch python bindings."""
-import sys
-
-def init_notmuch():
-   import os
-   from cnotmuch import notmuch
-   #TODO Handle variable: NOTMUCH-CONFIG
+import sys, os
+from cnotmuch.notmuch import Database, Query
+#TODO Handle variable: NOTMUCH-CONFIG
 
 #-------------------------------------------------------------------------
 HELPTEXT="""The notmuch mail system.
@@ -104,6 +101,13 @@ if __name__ == '__main__':
    elif sys.argv[1] == 'new':
        #TODO: handle --verbose
        print "Not implemented."
+
+   elif sys.argv[1] == 'search-tags':
+      if len(sys.argv) == 2:
+         print("\n".join(Database().get_all_tags()))
+
+      else: print "Not implemented"
+
    else:
        # unknown command
        print "Error: Unknown command '%s' (see \"notmuch help\")" % sys.argv[1]