From: Thierry Parmentelat Date: Sat, 2 Nov 2013 13:33:31 +0000 (+0100) Subject: cosmetic improvements of messages during unsucessful authenticate (e.g. when cannot... X-Git-Tag: myslice-0.3-0~126 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=89d8e2ea86f00e9c5a6572d0edd2aa231f30c091 cosmetic improvements of messages during unsucessful authenticate (e.g. when cannot reach backend) --- diff --git a/auth/manifoldbackend.py b/auth/manifoldbackend.py index 14abb748..ab224a35 100644 --- a/auth/manifoldbackend.py +++ b/auth/manifoldbackend.py @@ -47,7 +47,7 @@ class ManifoldBackend: request.session['manifold'] = {'auth': api.auth, 'person': person, 'expires': session['expires']} except ManifoldException, e: - print "Caught ManifoldException, returning corresponding ManifoldResult" + print "ManifoldBackend.authenticate caught ManifoldException, returning corresponding ManifoldResult" return e.manifold_result except Exception, e: print "E: manifoldbackend", e diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py index 1ba0db42..1ffcacee 100644 --- a/manifold/manifoldapi.py +++ b/manifold/manifoldapi.py @@ -52,9 +52,17 @@ class ManifoldAPI: # a SESSION_EXPIRED code def __getattr__(self, methodName): def func(*args, **kwds): + # how to display a call + def repr (): + # most of the time, we run 'forward' + if methodName=='forward': + try: action="forward(%s)"%args[0]['action'] + except: action="forward(??)" + else: action=methodName + return action try: if debug: - print "====> ManifoldAPI.%s"%methodName,"url",self.url + print "====> ManifoldAPI.%s"%repr(),"url",self.url print "=> auth",self.auth print "=> args",args,"kwds",kwds annotations = { @@ -63,10 +71,9 @@ class ManifoldAPI: args += (annotations,) result=getattr(self.server, methodName)(*args, **kwds) if debug: - print '<==== backend call %s(*%s,**%s) returned'%(methodName,args,kwds), - print '.ctd. Authmethod=',self.auth['AuthMethod'], self.url,'->', + print '<= result=', self._print_result(result) - print '===== ManifoldAPI call done' + print '<==== backend call %s returned'%(repr()), return ResultValue(**result) @@ -76,12 +83,12 @@ class ManifoldAPI: raise ManifoldException ( ManifoldResult (code=ManifoldCode.SERVER_UNREACHABLE, output="%s answered %s"%(self.url,error))) # otherwise - print "====> ERROR On ManifoldAPI.%s"%methodName,"auth",self.auth,"args",args,"kwds",kwds - import traceback - traceback.print_exc() - if debug: print "KO (unexpected exception)",error - print '===== ManifoldAPI call exiting' - raise ManifoldException ( ManifoldResult (code=ManifoldCode.UNKNOWN_ERROR, output="%s"%error) ) + if debug: + print "===== xmlrpc catch-all exception:",error + import traceback + traceback.print_exc(limit=3) + print "<==== ERROR On ManifoldAPI.%s"%repr() + raise ManifoldException ( ManifoldResult (code=ManifoldCode.SERVER_UNREACHABLE, output="%s"%error) ) return func diff --git a/manifold/manifoldresult.py b/manifold/manifoldresult.py index dcf1a2e8..edf48ab8 100644 --- a/manifold/manifoldresult.py +++ b/manifold/manifoldresult.py @@ -49,7 +49,7 @@ class ManifoldResult (dict): else: result += " [value=%s: %s]"%(type(value).__name__,value) else: result += " [output=%s]"%self['output'] - result += "]]" + result += "]" return result # probably simpler to use a single class and transport the whole result there