X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fclient%2Fsfaclientlib.py;h=3f6f6bc8d6e624d559ba9bd3aee0f9c8a13dba03;hb=8712d295c3a4b5f8debe59a1755c1f9b461ab49c;hp=13a4831de185f273123b703ee6c8fb8b5461f10e;hpb=f3620a4cdf3aa39d6a09a0cb5a34470d6c74d456;p=sfa.git diff --git a/sfa/client/sfaclientlib.py b/sfa/client/sfaclientlib.py index 13a4831d..3f6f6bc8 100644 --- a/sfa/client/sfaclientlib.py +++ b/sfa/client/sfaclientlib.py @@ -3,6 +3,11 @@ # a minimal library for writing "lightweight" SFA clients # +# xxx todo +# this library should probably check for the expiration date of the various +# certificates and automatically retrieve fresh ones when expired + +import sys import os,os.path import sfa.util.sfalogging @@ -276,10 +281,12 @@ class SfaClientBootstrap: return filename except IOError: raise - except: - self.logger.log_exc() - raise Exception, "Could not produce/retrieve %s"%filename - wrapped.__name__=f.__name__ + except : + error = sys.exc_info()[:2] + message="Could not produce/retrieve %s (%s -- %s)"%\ + (filename,error[0],error[1]) + self.logger.log_exc(message) + raise Exception, message return wrapped return wrap @@ -315,3 +322,8 @@ class SfaClientBootstrap: def authority_credential_string (self, hrn): self.authority_credential(hrn) return self.plain_read(self.authority_credential_filename(hrn)) + + # for consistency + def private_key (self): + self.assert_private_key() + return self.private_key_filename()