better handling of exceptions when session expired
authorJordan Augé <jordan.auge@lip6.fr>
Fri, 6 Dec 2013 15:42:07 +0000 (16:42 +0100)
committerJordan Augé <jordan.auge@lip6.fr>
Fri, 6 Dec 2013 15:42:07 +0000 (16:42 +0100)
manifold/manifoldapi.py
ui/topmenu.py

index 664bb32..180807b 100644 (file)
@@ -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:
index de44555..860e180 100644 (file)
@@ -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'])