X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=blobdiff_plain;f=plcapi.py;h=a03e9e0cafda730a96001181d8ede841ed12e78d;hp=be77171d9116b68b41b820b7ad7bead07c2cc2bc;hb=HEAD;hpb=6d65ae5c5fd545f02a92582b3ff8d961b46da0d4 diff --git a/plcapi.py b/plcapi.py index be77171..a03e9e0 100644 --- a/plcapi.py +++ b/plcapi.py @@ -1,7 +1,9 @@ -# $Id$ - import safexmlrpc -import hmac, sha +import hmac +try: + from hashlib import sha1 as sha +except ImportError: + import sha import logger class PLCAPI: @@ -15,7 +17,7 @@ class PLCAPI: session => SessionAuth To authenticate using the Boot Manager authentication method, or - the new session-based method. + the new session-based method, respectively. """ def __init__(self, uri, cacert, auth, timeout = 90, **kwds): @@ -26,7 +28,7 @@ class PLCAPI: if isinstance(auth, (tuple, list)): (self.node_id, self.key) = auth self.session = None - elif isinstance(auth, (str, unicode)): + elif isinstance(auth, str): self.node_id = self.key = None self.session = auth else: @@ -36,7 +38,7 @@ class PLCAPI: def update_session(self, f="/usr/boot/plnode.txt"): - # try authenticatipopulate /etc.planetlab/session + # try authenticatipopulate /etc.planetlab/session def plnode(key): try: return [i[:-1].split('=') for i in open(f).readlines() if i.startswith(key)][0][1].strip('"') @@ -48,14 +50,14 @@ class PLCAPI: open("/etc/planetlab/session", 'w').write(plc.GetSession().strip()) self.session = open("/etc/planetlab/session").read().strip() - + def check_authentication(self): authstatus = False if self.key or self.session: - try: + try: authstatus = self.AuthCheck() - except: - logger.log_exc() + except: + logger.log_exc("plcapi: failed in plcapi.check_authentication") return authstatus @@ -83,10 +85,10 @@ class PLCAPI: # Yes, the comments in the old implementation are # misleading. Keys of dicts are not included in the # hash. - values += canonicalize(arg.values()) + values += canonicalize(list(arg.values())) else: # We use unicode() instead of str(). - values.append(unicode(arg)) + values.append(str(arg)) return values