git.fiddlerwoaroof.com
Browse code

finishing previous commit

Ed L authored on 17/06/2011 21:25:21
Showing 1 changed files
... ...
@@ -1,12 +1,35 @@
1
+import json
1 2
 from jsonrpc import proxy
2
-import optparse
3
+import argparse
3 4
 
4
-def main(host, path=None):
5
+def main(host, path=None, args=None):
5 6
 	proxy_ = proxy.JSONRPCProxy(host, path)
6 7
 	return proxy_
7 8
 
9
+def iterate(iter_):
10
+	if not hasattr(iter_, 'next'): iter_ = iter(iter_)
11
+	rollback = []
12
+	try:
13
+		while True:
14
+			to_yield = None
15
+			if rollback != []:
16
+				to_yield = rollback.pop(0)
17
+			else:
18
+				to_yield = iter_.next()
19
+
20
+
21
+			result = (yield to_yield)
22
+			while result is not None:
23
+				rollback.append(result)
24
+				result = yield
25
+	except StopIteration: raise
26
+
8 27
 if __name__ == '__main__':
9
-	optionparser = optparse.OptionParser()
10
-	optionparser.add_option('-p', '--path', dest='path', help='path to the JSON-RPC server', default='/jsonrpc')
11
-	(options, args) = optionparser.parse_args()
12
-	server = main(args[0], options.path)
28
+	import sys
29
+	parser = argparse.ArgumentParser()
30
+	parser.add_argument('-p', '--path', dest='path', help='path to the JSON-RPC server', nargs='?', default='/jsonrpc')
31
+	parser.add_argument('host', metavar='HOST')
32
+	args = parser.parse_args(sys.argv[1:])
33
+
34
+	print args
35
+	server = main(args.host, args.path)