[rhmessaging-commits] rhmessaging commits: r1547 - mgmt/cumin/bin.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Thu Jan 10 17:37:28 EST 2008


Author: justi9
Date: 2008-01-10 17:37:28 -0500 (Thu, 10 Jan 2008)
New Revision: 1547

Added:
   mgmt/cumin/bin/cumin
Log:
Adds "cumin", a startup script.



Copied: mgmt/cumin/bin/cumin (from rev 1539, mgmt/cumin/bin/cumin-test)
===================================================================
--- mgmt/cumin/bin/cumin	                        (rev 0)
+++ mgmt/cumin/bin/cumin	2008-01-10 22:37:28 UTC (rev 1547)
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+
+import sys, os
+
+def usage():
+    print """
+Usage: cumin OPTIONS
+Options:
+    --port PORT
+    --data DATABASE-URL
+""",
+    sys.exit(1)
+
+from ConfigParser import SafeConfigParser
+
+def load_args(argv):
+    args = dict()
+
+    conf = SafeConfigParser()
+    conf.read(os.path.expanduser("/etc/cumin.conf"))
+
+    if (conf.has_section("main")): 
+        for key, value in conf.items("main"):
+            args[key] = value
+    
+    key = None
+
+    for arg in sys.argv:
+        if arg.startswith("--"):
+            key = arg[2:]
+            args[key] = None
+        elif key:
+            args[key] = arg
+            key = None
+
+    if args:
+        print "Parameters:"
+
+        for key in args:
+            print " %10s %s" % (key, args[key])
+
+    return args
+
+from sqlobject import *
+
+args = load_args(sys.argv)
+
+try:
+    connuri = args["data"]
+    conn = connectionForURI(connuri)
+    sqlhub.processConnection = conn
+except KeyError:
+    print "No data source"
+    usage()
+
+from wooly.server import WebServer
+from cumin import *
+
+def do_main(port):
+    app = Cumin()
+    app.enable_debug()
+
+    server = WebServer(app, port)
+    server.run()
+
+def main():
+    port = int(args.get("port", 80))
+    
+    try:
+        do_main(port)
+    except KeyboardInterrupt:
+        pass
+
+if __name__ == "__main__":
+    main()




More information about the rhmessaging-commits mailing list