28 id, method, params = data["id"], data["method"], data["params"] |
28 id, method, params = data["id"], data["method"], data["params"] |
29 if method in self.methods: |
29 if method in self.methods: |
30 try: |
30 try: |
31 result = self.methods[method](*params) |
31 result = self.methods[method](*params) |
32 return self.response(id, result) |
32 return self.response(id, result) |
|
33 except Exception: |
|
34 etype, eval, _etb = sys.exc_info() |
|
35 return self.error(id, 100, 'Exception %s: %s' % (etype, eval)) |
33 except BaseException: |
36 except BaseException: |
34 etype, eval, _etb = sys.exc_info() |
37 etype, eval, _etb = sys.exc_info() |
35 return self.error(id, 100, '%s: %s' % (etype.__name__, eval)) |
38 return self.error(id, 100, '%s: %s' % (etype.__name__, eval)) |
36 except Exception: |
|
37 etype, eval, _etb = sys.exc_info() |
|
38 return self.error(id, 100, 'Exception %s: %s' % (etype, eval)) |
|
39 else: |
39 else: |
40 return self.error(id, 100, 'method "%s" does not exist' % method) |
40 return self.error(id, 100, 'method "%s" does not exist' % method) |
41 |
41 |
42 def listmethods(self): |
42 def listmethods(self): |
43 return self.methods.keys() |
43 return self.methods.keys() |