From: Jordan Augé Date: Fri, 6 Dec 2013 15:42:07 +0000 (+0100) Subject: better handling of exceptions when session expired X-Git-Tag: myslice-0.3-0~91^2^2^2 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=1e05d200f9cdd0c8965f66be87962bf19c9c69e0 better handling of exceptions when session expired --- diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py index 664bb320..180807b7 100644 --- a/manifold/manifoldapi.py +++ b/manifold/manifoldapi.py @@ -113,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: diff --git a/ui/topmenu.py b/ui/topmenu.py index de445556..860e180b 100644 --- a/ui/topmenu.py +++ b/ui/topmenu.py @@ -21,7 +21,10 @@ def topmenu_items (current,request=None): # ** Where am I a PI ** # For this we need to ask SFA (of all authorities) = PI function pi_authorities_query = Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') - pi_authorities_tmp = execute_query(request, pi_authorities_query) + try: + pi_authorities_tmp = execute_query(request, pi_authorities_query) + except: + pi_authorities_tmp = set() pi_authorities = set() for pa in pi_authorities_tmp: pi_authorities |= set(pa['pi_authorities'])