Fixed bug: select columns all checked in filters, autocomplete based on query_all...
[myslice.git] / manifold / manifoldapi.py
index 8d4d1ac..2a64a49 100644 (file)
@@ -27,7 +27,7 @@ class ManifoldAPI:
         self.trace = []
         self.calls = {}
         self.multicall = False
-        self.url = config.manifold_url
+        self.url = config.manifold_url()
         self.server = xmlrpclib.Server(self.url, verbose=False, allow_none=True)
 
     def __repr__ (self): return "ManifoldAPI[%s]"%self.url
@@ -65,8 +65,12 @@ class ManifoldAPI:
                 return ResultValue(**result)
 
             except Exception,error:
-                # XXX Connection refused for example
-                print "** API ERROR **"
+                print "** MANIFOLD API ERROR **"
+                if "Connection refused" in error:
+                    raise ManifoldException ( ManifoldResult (code=ManifoldCode.SERVER_UNREACHABLE,
+                                                              output="%s answered %s"%(self.url,error)))
+                # otherwise
+                print "====> ERROR On ManifoldAPI.%s"%methodName,"auth",self.auth,"args",args,"kwds",kwds
                 import traceback
                 traceback.print_exc()
                 if debug: print "KO (unexpected exception)",error
@@ -76,7 +80,7 @@ class ManifoldAPI:
 
 def execute_query(request, query):
     if not 'manifold' in request.session or not 'auth' in request.session['manifold']:
-        print "W: Used hardcoded demo account for execute_query"
+        print "W: Using hardcoded demo account for execute_query"
         manifold_api_session_auth = {'AuthMethod': 'password', 'Username': 'demo', 'AuthString': 'demo'}
     else:
         manifold_api_session_auth = request.session['manifold']['auth']
@@ -92,5 +96,4 @@ def execute_query(request, query):
     # XXX Handle errors
     #Error running query: {'origin': [0, 'XMLRPCAPI'], 'code': 2, 'description': 'No such session: No row was found for one()', 'traceback': 'Traceback (most recent call last):\n  File "/usr/local/lib/python2.7/dist-packages/manifold/core/xmlrpc_api.py", line 68, in xmlrpc_forward\n    user = Auth(auth).check()\n  File "/usr/local/lib/python2.7/dist-packages/manifold/auth/__init__.py", line 245, in check\n    return self.auth_method.check()\n  File "/usr/local/lib/python2.7/dist-packages/manifold/auth/__init__.py", line 95, in check\n    raise AuthenticationFailure, "No such session: %s" % e\nAuthenticationFailure: No such session: No row was found for one()\n', 'type': 2, 'ts': None, 'value': None}
 
-
     return result['value']