X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=api.py;h=b099fb8480908242c85acee59d37cae9100a7576;hb=9ce0d803975411f43ded4f8844c6eed314d670e1;hp=0491dc28e75ea1911e4fa2b1b12dc7c5be935e76;hpb=a7f54b07b8599d2d2c32d1ab729471f8fc8b769a;p=nodemanager.git diff --git a/api.py b/api.py index 0491dc2..b099fb8 100644 --- a/api.py +++ b/api.py @@ -24,15 +24,11 @@ import logger import sliver_vs import ticket import tools - +from api_calls import * API_SERVER_PORT = 812 UNIX_ADDR = '/tmp/sliver_mgr.api' -deliver_ticket = None # set in sm.py:start() - -from api_calls import * - class APIRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): # overriding _dispatch to achieve this effect is officially deprecated, # but I can't figure out how to get access to .request without @@ -68,7 +64,8 @@ class APIRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): 'Invalid argument: the first argument must be a sliver name.') if not caller_name in (target_name, target_rec['delegations']): raise xmlrpclib.Fault(108, 'Permission denied.') - result = method(target_rec, *args[1:]) + try: result = method(target_rec, *args[1:]) + except Exception, err: raise xmlrpclib.Fault(104, 'Error in call: %s' %err) else: result = method(*args) if result == None: result = 1 return result