more comments + cosmetic
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Mon, 11 Mar 2013 09:27:48 +0000 (10:27 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Mon, 11 Mar 2013 09:27:48 +0000 (10:27 +0100)
engine/manifoldproxy.py

index a66f187..20e9592 100644 (file)
@@ -1,9 +1,3 @@
-# this view is what the javascript talks to when it sends a query
-# see also
-# myslice/urls.py
-# as well as 
-# static/js/manifold-async.js
-
 import json
 # this is for django objects only
 #from django.core import serializers
@@ -12,31 +6,41 @@ from django.http import HttpResponse, HttpResponseForbidden
 from engine.manifoldquery import ManifoldQuery
 from engine.manifoldapi import ManifoldAPI
 
-# xxx should probably cater for
-# format_in : how is the query encoded in POST
-# format_out: how to serve the results
+# this view is what the javascript talks to when it sends a query
+# see also
+# myslice/urls.py
+# as well as 
+# static/js/manifold-async.js
 def api (request,format):
+    """the view associated with /manifold/api/ 
+with the query passed using POST"""
+    
     # expecting a POST
     if request.method != 'POST':
         print "manifoldproxy.api: unexpected method %s -- exiting"%request.method
         return 
     # 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.api: unexpected format %s -- exiting"%format
         return
-    # xxx actually ask the backend here
+    # translate incoming POST request into a query object
     manifold_query = ManifoldQuery()
     manifold_query.fill_from_dict(request.POST)
+    # retrieve session for request
     manifold_api_session_auth = request.session['manifold']['auth']
+    # actually forward
     manifold_api= ManifoldAPI(auth=manifold_api_session_auth)
-    # forward
     answer=manifold_api.send_manifold_query (manifold_query)
+    # return json-encoded answer
     return HttpResponse (json.dumps(answer), mimetype="application/json")
 
 #################### 
-# to enable : see CSRF_FAILURE_VIEW in settings.py
-# probably we want to elaborate this one a little in real life
-# at least we can display the reason in the django output (although this turns out disappointing)
+# see CSRF_FAILURE_VIEW in settings.py
+# the purpose of redefining this was to display the failure reason somehow
+# this however turns out disappointing/not very informative
 failure_answer=[ "csrf_failure" ]
 def csrf_failure(request, reason=""):
     print "CSRF failure with reason '%s'"%reason