From 3c2648a922cb7c34352f0a35a9d4aafe442a77be Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Mon, 19 Jan 2009 17:42:49 +0000 Subject: [PATCH] add getNodeAPI() --- monitor/wrapper/plc.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/monitor/wrapper/plc.py b/monitor/wrapper/plc.py index c8ea068..68eb11a 100644 --- a/monitor/wrapper/plc.py +++ b/monitor/wrapper/plc.py @@ -22,14 +22,17 @@ except: logger = logging.getLogger("monitor") class Auth: - def __init__(self, username=None, password=None): - if username==None and password==None: - self.auth = {'AuthMethod': "anonymous"} + def __init__(self, username=None, password=None, **kwargs): + if 'session' in kwargs: + self.auth= { 'AuthMethod' : 'session', + 'session' : kwargs['session'] } else: - self.auth = {'Username' : username, - 'AuthMethod' : 'password', - 'AuthString' : password} - + if username==None and password==None: + self.auth = {'AuthMethod': "anonymous"} + else: + self.auth = {'Username' : username, + 'AuthMethod' : 'password', + 'AuthString' : password} # NOTE: this host is used by default when there are no auth files. XMLRPC_SERVER="https://boot.planet-lab.org/PLCAPI/" @@ -119,6 +122,10 @@ class CachedPLC(PLC): def getAPI(url): return xmlrpclib.Server(url, verbose=False, allow_none=True) +def getNodeAPI(session): + nodeauth = Auth(session=session) + return PLC(nodeauth.auth, auth.server) + def getAuthAPI(): return PLC(auth.auth, auth.server) -- 2.43.0