svgui/pyjs/jsonrpc/jsonrpc.py
changeset 1866 9d1e68d557bf
parent 1851 1b8b5324506c
child 1881 091005ec69c4
equal deleted inserted replaced
1865:0bd5b3099144 1866:9d1e68d557bf
    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()