From 1e05d200f9cdd0c8965f66be87962bf19c9c69e0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jordan=20Aug=C3=A9?= Date: Fri, 6 Dec 2013 16:42:07 +0100 Subject: [PATCH] better handling of exceptions when session expired --- manifold/manifoldapi.py | 2 ++ ui/topmenu.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) 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']) -- 2.43.0