add notmuch stub that will allow me to run the notmuch testsuite over the python...
authorSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 11:21:18 +0000 (12:21 +0100)
committerSebastian Spaeth <sebastian@sspaeth.de>
Tue, 16 Mar 2010 11:21:18 +0000 (12:21 +0100)
--HG--
extra : transplant_source : %E4%EF%29%A3%9BA%C57%7C%EC%B0%7BF%FB%00%F0%EB%97%92%E3

notmuch [new file with mode: 0755]

diff --git a/notmuch b/notmuch
new file mode 100755 (executable)
index 0000000..2f65ae4
--- /dev/null
+++ b/notmuch
@@ -0,0 +1,137 @@
+#!/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
+#-------------------------------------------------------------------------
+HELPTEXT="""The notmuch mail system.
+
+Usage: notmuch <command> [args...]
+
+Where <command> and [args...] are as follows:
+
+       setup   Interactively setup notmuch for first use.
+
+       new     [--verbose]
+
+               Find and import new messages to the notmuch database.
+
+       search  [options...] <search-terms> [...]
+
+               Search for messages matching the given search terms.
+
+       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.
+
+       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 the tags from the given dump file (see 'dump').
+
+       search-tags     [<search-terms> [...] ]
+
+               List all tags found in the database or matching messages.
+
+       help    [<command>]
+
+               This message, or more detailed help for the named command.
+
+Use "notmuch help <command>" for more details on each command.
+And "notmuch help search-terms" for the common search-terms syntax.
+"""
+
+#TODO: replace the dynamic pieces
+USAGE="""Notmuch is configured and appears to have a database. Excellent!
+
+At this point you can start exploring the functionality of notmuch by
+using commands such as:
+
+       notmuch search tag:inbox
+
+       notmuch search to:"Sebastian Spaeth"
+
+       notmuch search from:"Sebastian@SSpaeth.de"
+
+       notmuch search subject:"my favorite things"
+
+See "notmuch help search" for more details.
+
+You can also use "notmuch show" with any of the thread IDs resulting
+from a search. Finally, you may want to explore using a more sophisticated
+interface to notmuch such as the emacs interface implemented in notmuch.el
+or any other interface described at http://notmuchmail.org
+
+And don't forget to run "notmuch new" whenever new mail arrives.
+
+Have fun, and may your inbox never have much mail.
+"""
+#-------------------------------------------------------------------------
+if __name__ == '__main__':
+
+   # Handle command line options
+   # No option 
+   if len(sys.argv) == 1:
+      print USAGE
+
+   elif sys.argv[1] == 'setup':
+       """ Interactively setup notmuch for first use. """
+       print "Not implemented."
+
+   elif sys.argv[1] == 'help':
+       if len(sys.argv) == 2: print HELPTEXT
+       else: print "Not implemented"
+
+   else:
+       # unknown command
+       print "Error: Unknown command '%s' (see \"notmuch help\")" % sys.argv[1]
+
+
+   #TODO: implement
+   """ 
+new    [--verbose]
+
+       Find and import new messages to the notmuch database.
+
+search [options...] <search-terms> [...]
+
+       Search for messages matching the given search terms.
+
+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.
+
+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>
+       search-tags     [<search-terms> [...] ]
+
+               List all tags found in the database or matching messages.
+   """