X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plcapi.py;h=4da9e4883b8f5ad61122c434b6e0f68623bc4535;hb=refs%2Fheads%2Fplanetlab-4_0-branch;hp=11d37db22e9f6f9ba687b03d5e9565b8fb32a8fc;hpb=2bdabc3d01aac59e8000093482f369f81990a924;p=nodemanager.git diff --git a/plcapi.py b/plcapi.py index 11d37db..4da9e48 100644 --- a/plcapi.py +++ b/plcapi.py @@ -1,9 +1,9 @@ -import xmlrpclib +import safexmlrpc import hmac, sha class PLCAPI: """ - Wrapper around xmlrpclib.ServerProxy to automagically add an Auth + Wrapper around safexmlrpc.ServerProxy to automagically add an Auth struct as the first argument to every XML-RPC call. Initialize auth with either: @@ -15,7 +15,7 @@ class PLCAPI: the new session-based method. """ - def __init__(self, uri, auth, **kwds): + def __init__(self, uri, cacert, auth, timeout = 300, **kwds): if isinstance(auth, (tuple, list)): (self.node_id, self.key) = auth self.session = None @@ -23,7 +23,7 @@ class PLCAPI: self.node_id = self.key = None self.session = auth - self.server = xmlrpclib.ServerProxy(uri, allow_none = 1, **kwds) + self.server = safexmlrpc.ServerProxy(uri, cacert, timeout, allow_none = 1, **kwds) def add_auth(self, function): """ @@ -64,7 +64,8 @@ class PLCAPI: if self.session is not None: # Use session authentication - auth = {'session': self.session} + auth = {'AuthMethod': "session", + 'session': self.session} else: # Yes, this is the "canonicalization" method used. args = canonicalize(params)