X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=manifold%2Fmanifoldapi.py;h=b1a1a0cc10c1c2ad5e16747a416edb5b8411c286;hp=25b80f9cf96301675f3fb1518d6b9e5571346276;hb=20e712f9703d8b2eaf226fdf8807315edcea6a9a;hpb=13fe73170b3a3f5912bbd13aee0a97048d935436 diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py index 25b80f9c..b1a1a0cc 100644 --- a/manifold/manifoldapi.py +++ b/manifold/manifoldapi.py @@ -1,7 +1,7 @@ # Manifold API Python interface import copy, xmlrpclib -from myslice.config import Config +from myslice.configengine import ConfigEngine from django.contrib import messages from manifoldresult import ManifoldResult, ManifoldCode, ManifoldException @@ -39,8 +39,7 @@ class ManifoldAPI: self.trace = [] self.calls = {} self.multicall = False - config = Config() - self.url = config.manifold_url() + self.url = ConfigEngine().manifold_url() self.server = xmlrpclib.Server(self.url, verbose=False, allow_none=True) def __repr__ (self): return "ManifoldAPI[%s]"%self.url @@ -135,8 +134,11 @@ def _execute_query(request, query, manifold_api_session_auth): # 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 - # del request.session['manifold'] - raise Exception, 'Error running query: %r' % result + # 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" @@ -149,12 +151,12 @@ 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) def execute_admin_query(request, query): - config = Config() - admin_user, admin_password = config.manifold_admin_user_password() + admin_user, admin_password = ConfigEngine().manifold_admin_user_password() admin_auth = {'AuthMethod': 'password', 'Username': admin_user, 'AuthString': admin_password} return _execute_query(request, query, admin_auth)