--- a/web/ldt/ldt_utils/views.py Thu Jun 10 12:17:51 2010 +0200
+++ b/web/ldt/ldt_utils/views.py Thu Jun 10 18:56:59 2010 +0200
@@ -203,14 +203,31 @@
def project_json(request, project):
- resp = HttpResponse(mimetype="application/json; charset=utf-8")
+ mimetype = request.REQUEST.get("mimetype")
+ if mimetype is None:
+ mimetype = u"application/json; charset=utf-8"
+
+ resp = HttpResponse(mimetype=mimetype)
resp['Cache-Control']='no-cache, must-revalidate'
resp['Pragma']='no-cache'
+ indent = request.REQUEST.get("indent")
+ if indent is None:
+ indent = settings.LDT_JSON_DEFAULT_INDENT
+ else:
+ indent = int(indent)
+
+ callback = request.REQUEST.get("callback")
+
ps = ProjectSerializer(project)
project_dict = ps.serialize_to_cinelab()
- simplejson.dump(project_dict, resp, ensure_ascii=False, indent=2)
+ json_str = simplejson.dumps(project_dict, ensure_ascii=False, indent=indent)
+
+ if callback is not None:
+ json_str = "%s(%s)" % (callback,json_str)
+
+ resp.write(json_str)
return resp