X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=manifold%2Fmanifoldapi.py;h=180807b7e22bfa5ada1a4b64f47c5b1c6c465f16;hb=ad35ed326deb96b25e2a2dea68ceb797b898d203;hp=ee1f82ecfc0fe7a16d7243b1a6aa8fda33410b38;hpb=d45cc579de128aecc723e387023f92b62165ad59;p=myslice.git diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py index ee1f82ec..180807b7 100644 --- a/manifold/manifoldapi.py +++ b/manifold/manifoldapi.py @@ -1,5 +1,5 @@ # Manifold API Python interface -import xmlrpclib +import copy, xmlrpclib from myslice.config import Config @@ -70,13 +70,19 @@ class ManifoldAPI: try: if debug: print "====> ManifoldAPI.%s"%repr(),"url",self.url - print "=> auth",self.auth + # No password in the logs + logAuth = copy.copy(self.auth) + for obfuscate in ['Authring','session']: + if obfuscate in logAuth: logAuth[obfuscate]="XXX" + print "=> auth",logAuth print "=> args",args,"kwds",kwds annotations = { 'authentication': self.auth } args += (annotations,) result=getattr(self.server, methodName)(*args, **kwds) + print "%s%r" %(methodName, args) + if debug: print '<= result=', self._print_result(result) @@ -86,14 +92,14 @@ class ManifoldAPI: except Exception,error: print "** MANIFOLD API ERROR **" - if "Connection refused" in error: - raise ManifoldException ( ManifoldResult (code=ManifoldCode.SERVER_UNREACHABLE, - output="%s answered %s"%(self.url,error))) - # otherwise if debug: print "===== xmlrpc catch-all exception:",error import traceback traceback.print_exc(limit=3) + if "Connection refused" in error: + raise ManifoldException ( ManifoldResult (code=ManifoldCode.SERVER_UNREACHABLE, + output="%s answered %s"%(self.url,error))) + # otherwise print "<==== ERROR On ManifoldAPI.%s"%repr() raise ManifoldException ( ManifoldResult (code=ManifoldCode.SERVER_UNREACHABLE, output="%s"%error) ) @@ -107,6 +113,8 @@ def _execute_query(request, query, manifold_api_session_auth): print "-"*80 result = manifold_api.forward(query.to_dict()) if result['code'] == 2: + # XXX only if we know it is the issue + del request.session['manifold'] raise Exception, 'Error running query: %r' % result if result['code'] == 1: