X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=manifold%2Fmanifoldapi.py;h=6639d484cf2ed6bfe96cd5dc53bfd325b34adecf;hb=301e2abaa0831c3ddd952de5f8a3db3eb37d9edb;hp=89b6f0ea8bf255d73a37a8772898d836ae1bc83d;hpb=f8a556326c2a66f26f8b2114c0a6d03985b671c0;p=myslice.git diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py index 89b6f0ea..6639d484 100644 --- a/manifold/manifoldapi.py +++ b/manifold/manifoldapi.py @@ -132,7 +132,14 @@ def _execute_query(request, query, manifold_api_session_auth): print "-"*80 result = manifold_api.forward(query.to_dict()) if result['code'] == 2: - raise Exception, 'Error running query: %r' % result + # this is gross; at the very least we need to logout() + # but most importantly there is a need to refine that test, since + # code==2 does not necessarily mean an expired session + # XXX only if we know it is the issue + del request.session['manifold'] + # Flush django session + request.session.flush() + #raise Exception, 'Error running query: %r' % result if result['code'] == 1: print "WARNING" @@ -145,6 +152,7 @@ def _execute_query(request, query, manifold_api_session_auth): def execute_query(request, query): if not 'manifold' in request.session or not 'auth' in request.session['manifold']: + request.session.flush() raise Exception, "User not authenticated" manifold_api_session_auth = request.session['manifold']['auth'] return _execute_query(request, query, manifold_api_session_auth)