--- a/confnodes/python/modules/svgui/pyjs/jsonrpc/jsonrpc.py Tue May 08 16:31:12 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-import gluon.contrib.simplejson as simplejson
-import types
-import sys
-
-class JSONRPCServiceBase:
-
- def __init__(self):
- self.methods={}
-
- def response(self, id, result):
- return simplejson.dumps({'version': '1.1', 'id':id,
- 'result':result, 'error':None})
- def error(self, id, code, message):
- return simplejson.dumps({'id': id,
- 'version': '1.1',
- 'error': {'name': 'JSONRPCError',
- 'code': code,
- 'message': message
- }
- })
-
- def add_method(self, name, method):
- self.methods[name] = method
-
- def process(self, data):
- data = simplejson.loads(data)
- id, method, params = data["id"], data["method"], data["params"]
- if method in self.methods:
- try:
- result =self.methods[method](*params)
- return self.response(id, result)
- except BaseException:
- etype, eval, etb = sys.exc_info()
- return self.error(id, 100, '%s: %s' %(etype.__name__, eval))
- except:
- etype, eval, etb = sys.exc_info()
- return self.error(id, 100, 'Exception %s: %s' %(etype, eval))
- else:
- return self.error(id, 100, 'method "%s" does not exist' % method)
-
- def listmethods(self):
- return self.methods.keys()
-