notmuch: implement dump to file. Fake notmuch new by calling the real notmuch to enable running the testsuite

This commit is contained in:
Sebastian Spaeth 2010-03-18 19:11:22 +01:00
parent dd8cdd9b66
commit 350a6884de

12
notmuch
View file

@ -6,6 +6,7 @@ notmuch configuration (e.g. the database path)
This code is licensed under the GNU GPL v3+.""" This code is licensed under the GNU GPL v3+."""
import sys, os, re, logging import sys, os, re, logging
from subprocess import call
from cnotmuch.notmuch import Database, Query from cnotmuch.notmuch import Database, Query
PREFIX=re.compile('(\w+):(.*$)') PREFIX=re.compile('(\w+):(.*$)')
#TODO Handle variable: NOTMUCH-CONFIG #TODO Handle variable: NOTMUCH-CONFIG
@ -113,6 +114,11 @@ if __name__ == '__main__':
""" Interactively setup notmuch for first use. """ """ Interactively setup notmuch for first use. """
print "Not implemented." print "Not implemented."
#------------------------------------- #-------------------------------------
elif sys.argv[1] == 'new':
""" Interactively setup notmuch for first use. """
#print "Not implemented. We cheat by calling the proper notmuch"
call(['notmuch new'],shell=True)
#-------------------------------------
elif sys.argv[1] == 'help': elif sys.argv[1] == 'help':
if len(sys.argv) == 2: print HELPTEXT if len(sys.argv) == 2: print HELPTEXT
else: print "Not implemented" else: print "Not implemented"
@ -182,12 +188,16 @@ if __name__ == '__main__':
#------------------------------------- #-------------------------------------
elif sys.argv[1] == 'dump': elif sys.argv[1] == 'dump':
#TODO: implement "dump <filename>" #TODO: implement "dump <filename>"
if len(sys.argv) == 2:
f = sys.stdout
else:
f = open(sys.argv[2],"w")
db = Database() db = Database()
q = Query(db,'') q = Query(db,'')
q.set_sort(Query.SORT.MESSAGE_ID) q.set_sort(Query.SORT.MESSAGE_ID)
m = q.search_messages() m = q.search_messages()
for msg in m: for msg in m:
print("%s (%s)" % (msg.get_message_id(), msg.get_tags())) f.write("%s (%s)\n" % (msg.get_message_id(), msg.get_tags()))
#------------------------------------- #-------------------------------------
else: else:
# unknown command # unknown command