web/ldt/ldt_utils/views.py
changeset 16 b3692a42ac79
parent 10 84e31387a741
child 24 c8d5e809ffdb
equal deleted inserted replaced
13:346e5edf8675 16:b3692a42ac79
   201 
   201 
   202 
   202 
   203 
   203 
   204 def project_json(request, project):
   204 def project_json(request, project):
   205 
   205 
   206     resp = HttpResponse(mimetype="application/json; charset=utf-8")
   206     mimetype = request.REQUEST.get("mimetype")
       
   207     if mimetype is None:
       
   208         mimetype = u"application/json; charset=utf-8"
       
   209 
       
   210     resp = HttpResponse(mimetype=mimetype)
   207     resp['Cache-Control']='no-cache, must-revalidate'
   211     resp['Cache-Control']='no-cache, must-revalidate'
   208     resp['Pragma']='no-cache'
   212     resp['Pragma']='no-cache'
   209     
   213     
       
   214     indent = request.REQUEST.get("indent")
       
   215     if indent is None:
       
   216         indent = settings.LDT_JSON_DEFAULT_INDENT
       
   217     else:
       
   218         indent = int(indent)
       
   219     
       
   220     callback = request.REQUEST.get("callback")
       
   221         
   210     ps = ProjectSerializer(project)
   222     ps = ProjectSerializer(project)
   211     project_dict = ps.serialize_to_cinelab()
   223     project_dict = ps.serialize_to_cinelab()
   212     
   224     
   213     simplejson.dump(project_dict, resp, ensure_ascii=False, indent=2)
   225     json_str = simplejson.dumps(project_dict, ensure_ascii=False, indent=indent)
       
   226     
       
   227     if callback is not None:
       
   228         json_str = "%s(%s)" % (callback,json_str)
       
   229     
       
   230     resp.write(json_str)
   214 
   231 
   215     return resp
   232     return resp
   216 
   233 
   217 
   234 
   218 def save_ldtProject(request):
   235 def save_ldtProject(request):