summaryrefslogtreecommitdiffstats
path: root/overlord/dumb_client.py
diff options
context:
space:
mode:
Diffstat (limited to 'overlord/dumb_client.py')
-rwxr-xr-xoverlord/dumb_client.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/overlord/dumb_client.py b/overlord/dumb_client.py
new file mode 100755
index 0000000..c6a31ed
--- /dev/null
+++ b/overlord/dumb_client.py
@@ -0,0 +1,50 @@
+#!/usr/bin/python
+
+
+# all the cool kids would use optparse instead
+import getopt
+import sys
+import xmlrpclib
+
+myname, argv = sys.argv[0], sys.argv[1:]
+
+def usage():
+ return "Usage: %s [ --help ] [ --verbose ] [ --server=http://hostname:port ] method arg1 [ ... ]" % myname
+
+verbose = 0
+server = "http://127.0.0.1:51234"
+
+try:
+ opts, args = getopt.getopt(argv, "hvs:",
+ ["help",
+ "verbose",
+ "server="])
+except getopt.error, e:
+ print _("Error parsing list arguments: %s") % e
+ print usage()
+ sys.exit()
+
+for (opt, val) in opts:
+ print "opt = %s, val = %s" % (opt, val)
+ if opt in ["-h", "--help"]:
+ print usage()
+ sys.exit()
+ if opt in ["-v", "--verbose"]:
+ verbose = verbose + 1
+ if opt in ["-s", "--server"]:
+ server = val
+
+if len(args) < 1:
+ print usage()
+ sys.exit()
+
+s = xmlrpclib.ServerProxy(server)
+
+method = args[0]
+print "calling %s with args: %s" % (method, args[1:])
+
+# thats some pretty code right there aint it? -akl
+# we can't call "call" on s, since thats a rpc, so
+# we call gettatr around it.
+print getattr(s, method)(*args[1:])
+