diff emaildispatcher/main.py @ 0:bbcc528508f1

initial stub for emaildispatcher framework; ultimately, this should be written in lamson but dont have the patience to learn it today
author k0s <k0scist@gmail.com>
date Wed, 30 Dec 2009 22:46:56 -0500
parents
children 2c76525ce80b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emaildispatcher/main.py	Wed Dec 30 22:46:56 2009 -0500
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+
+import sys
+
+from email.Message import Message
+from optparse import OptionParser
+from pkg_resources import iter_entry_points
+
+def matches_from(message, accept_from):
+    pass
+
+def main(args=sys.argv[1:]):
+    parser = OptionParser()
+    parser.add_option('-f', '--file', dest='file',
+                      help="file to read from (otherwise use stdin)")
+    parser.add_option('-F', '--from', dest='from', default=[],
+                      action='append',
+                      help="from addresses to accept")
+    parser.add_option('-H', '--handler', dest='handler', default=None,
+                      help="handler to use")
+    parser.add_option('--list-handlers', dest='list_handlers',
+                      help="list available handlers")
+    options, args = parser.parse_args(args)
+
+    vars = dict([arg.split('=, 1) for arg in args if '=' in arg])
+    args = [arg for arg in args if '=' not in arg]
+
+    handlers = {}
+    for handler in iter_entry_point('email.dispatchers'):
+        import pdb; pdb.set_trace()
+
+    if options.from:
+        input = file(options.from).read()
+    else:
+        input = sys.stdin.read()
+
+    message = Message(input)
+
+    
+
+if __name__ == '__main__':
+    main()