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): |