manifold backend, proxy and api cleanup
[unfold.git] / manifoldapi / manifoldproxy.py
index 9385bfa..a6f29c3 100644 (file)
@@ -11,7 +11,8 @@ from manifold.core.result_value import ResultValue
 from manifoldapi                import ManifoldAPI
 from manifoldresult             import ManifoldException
 from manifold.util.log          import Log
-from myslice.configengine       import ConfigEngine
+
+from myslice.settings import config, logger, DEBUG
 
 # register activity
 import activity.slice
@@ -30,23 +31,23 @@ debug_empty=False
 # as well as 
 # static/js/manifold.js
 def proxy (request,format):
-    """the view associated with /manifold/proxy/ 
-with the query passed using POST"""
+    """the view associated with /manifold/proxy/ with the query passed using POST"""
     
     # expecting a POST
     if request.method != 'POST':
-        print "manifoldproxy.api: unexpected method %s -- exiting"%request.method
-        return 
+        logger.error("MANIFOLDPROXY unexpected method %s -- exiting" % request.method)
+        return HttpResponse ({"ret":0}, mimetype="application/json")
     # we only support json for now
     # if needed in the future we should probably cater for
     # format_in : how is the query encoded in POST
     # format_out: how to serve the results
     if format != 'json':
-        print "manifoldproxy.proxy: unexpected format %s -- exiting"%format
+        logger.error("MANIFOLDPROXY unexpected format %s -- exiting" % format)
         return HttpResponse ({"ret":0}, mimetype="application/json")
     try:
         # translate incoming POST request into a query object
-        if debug: print 'manifoldproxy.proxy: request.POST',request.POST
+        #logger.debug("MANIFOLDPROXY request.POST %s" % request.POST)
+
         manifold_query = Query()
         #manifold_query = ManifoldQuery()
         manifold_query.fill_from_POST(request.POST)
@@ -55,24 +56,20 @@ with the query passed using POST"""
         # We allow some requests to use the ADMIN user account
         if (manifold_query.get_from() == 'local:user' and manifold_query.get_action() == 'create') \
                 or (manifold_query.get_from() == 'local:platform' and manifold_query.get_action() == 'get'):
-            admin_user, admin_password = ConfigEngine().manifold_admin_user_password()
+            admin_user, admin_password = config.manifold_admin_user_password()
             manifold_api_session_auth = {'AuthMethod': 'password', 'Username': admin_user, 'AuthString': admin_password}
         else:
             if 'manifold' in request.session:
-                print '===> manifoldproxy.proxy: before auth', manifold_query
                 manifold_api_session_auth = request.session['manifold']['auth']
             else:
-                json_answer=json.dumps({'code':0,'value':[]})
-                return HttpResponse (json_answer, mimetype="application/json")
+                return HttpResponse (json.dumps({'code':0,'value':[]}), mimetype="application/json")
                 
         if debug_empty and manifold_query.action.lower()=='get':
-            json_answer=json.dumps({'code':0,'value':[]})
-            print "By-passing : debug_empty & 'get' request : returning a fake empty list"
-            return HttpResponse (json_answer, mimetype="application/json")
+            return HttpResponse (json.dumps({'code':0,'value':[]}), mimetype="application/json")
                 
         # actually forward
         manifold_api= ManifoldAPI(auth=manifold_api_session_auth)
-        if debug: print '===> manifoldproxy.proxy: sending to backend', manifold_query
+
         # for the benefit of the python code, manifoldAPI raises an exception if something is wrong
         # however in this case we want to propagate the complete manifold result to the js world
 
@@ -83,7 +80,6 @@ with the query passed using POST"""
                 and isinstance(result['description'], (tuple, list, set, frozenset)):
             result [ 'description' ] = [ ResultValue.to_html (x) for x in result['description'] ]
         
-        print "=> MANIFOLD PROXY executing: " + manifold_query.action.lower() 
         #
         # register activity
         #
@@ -107,7 +103,7 @@ with the query passed using POST"""
         return HttpResponse (json_answer, mimetype="application/json")
 
     except Exception,e:
-        print "** PROXY ERROR **",e
+        logger.error("MANIFOLDPROXY %s" % e)
         import traceback
         traceback.print_exc()
         return HttpResponse ({"ret":0}, mimetype="application/json")