manifoldapi now expects the URL as an argument to its constructor
[myslice.git] / manifoldapi / manifoldapi.py
index 673970f..8f27d92 100644 (file)
@@ -22,19 +22,15 @@ except:
 
 class ManifoldAPI:
 
-    def __init__(self, auth=None, cainfo=None):
+    def __init__(self, url, auth=None, cainfo=None):
         
+        self.url = url
         self.auth = auth
         self.cainfo = cainfo
         self.errors = []
         self.trace = []
         self.calls = {}
         self.multicall = False
-        try:
-            from myslice.settings import config
-            self.url = config.manifold_url()
-        except:
-            self.url = "https://portal.onelab.eu:7080/"
         
         # Manifold uses a self signed certificate
         # https://www.python.org/dev/peps/pep-0476/
@@ -91,9 +87,9 @@ class ManifoldAPI:
 
         return func
 
-def _execute_query(request, query, manifold_api_session_auth):
+def _execute_query(url, request, query, manifold_api_session_auth):
     
-    manifold_api = ManifoldAPI(auth = manifold_api_session_auth)
+    manifold_api = ManifoldAPI(url, auth = manifold_api_session_auth)
     
     logger.debug("MANIFOLD -> QUERY : {}".format(" ".join(str(query).split())))
     result = manifold_api.forward(query.to_dict())
@@ -131,7 +127,9 @@ def execute_query(request, query):
     
     manifold_api_session_auth = request.session['manifold']['auth']
 
-    return _execute_query(request, query, manifold_api_session_auth)
+    from myslice.settings import config
+    url = config.manifold_url()
+    return _execute_query(url, request, query, manifold_api_session_auth)
 
 def execute_admin_query(request, query):
     # xxx config
@@ -140,4 +138,7 @@ def execute_admin_query(request, query):
         logger.error("""CONFIG: you need to setup admin_user and admin_password in myslice.ini
 Some functions won't work properly until you do so""")
     admin_auth = {'AuthMethod': 'password', 'Username': admin_user, 'AuthString': admin_password}
-    return _execute_query(request, query, admin_auth)
+
+    from myslice.settings import config
+    url = config.manifold_url()
+    return _execute_query(url, request, query, admin_auth)