X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=manifold%2Fmanifoldproxy.py;fp=manifold%2Fmanifoldproxy.py;h=99de7849f4113a8bd6fc5b8c74b6be54e1a666ea;hb=014edeca57deed3141dda9056949e537f55fdf25;hp=1182955721d10eca25debc37b7928aa36476619e;hpb=9afd3ad77985920f5cc594500a6a0f42a19eabdb;p=myslice.git diff --git a/manifold/manifoldproxy.py b/manifold/manifoldproxy.py index 11829557..99de7849 100644 --- a/manifold/manifoldproxy.py +++ b/manifold/manifoldproxy.py @@ -6,6 +6,7 @@ from django.http import HttpResponse, HttpResponseForbidden #from manifold.manifoldquery import ManifoldQuery from manifold.core.query import Query from manifold.manifoldapi import ManifoldAPI +from manifold.manifoldresult import ManifoldException debug=False debug=True @@ -73,8 +74,13 @@ with the query passed using POST""" # actually forward manifold_api= ManifoldAPI(auth=manifold_api_session_auth) - if debug: print 'manifoldproxy.proxy: sending to backend', manifold_query - answer=manifold_api.send_manifold_query (manifold_query) + if debug: print '===> manifoldproxy.proxy: sending to backend', manifold_query + # for the benefit of the python code, manifoldAPI raises an exception if something is wrong + # however in this case we want to propagate the complete manifold result to the js world + try: + answer=manifold_api.send_manifold_query (manifold_query) + except ManifoldException, manifold_result: + answer=manifold_result print "="*80 print "ANSWER IN PROXY", answer print answer.ok_value() @@ -89,7 +95,7 @@ with the query passed using POST""" else: print "result is other (type=%s) : %s"%(type(value),value) json_answer=json.dumps(answer) # if in debug mode we save this so we can use offline mode later - if (debug): + if debug: with (file(offline_filename,"w")) as f: f.write(json_answer) # this is an artificial delay added for debugging purposes only