web/ldt/ldt_utils/views.py
changeset 7 881514514df1
parent 5 ae8593287883
child 10 84e31387a741
--- a/web/ldt/ldt_utils/views.py	Tue Jun 08 15:51:07 2010 +0200
+++ b/web/ldt/ldt_utils/views.py	Thu Jun 10 04:14:44 2010 +0200
@@ -11,6 +11,7 @@
 from models import *
 from utils import *
 from contentindexer import *
+from projectserializer import *
 from string import Template
 from Ft.Xml import MarkupWriter
 import cgi
@@ -25,7 +26,7 @@
     
 def searchForm(request):
     form = SearchForm()
-    return render_to_response('ldt/ldt/search_form.html',{'form': form} , context_instance=RequestContext(request))    
+    return render_to_response('ldt/ldt_utils/search_form.html',{'form': form} , context_instance=RequestContext(request))    
 
 def searchIndex(request):
     
@@ -182,6 +183,36 @@
     resp.write(project.ldt)
     return resp
 
+
+def project_json_id(request, id):
+    
+    project = Project.objects.get(ldt_id=id)
+
+    return project_json(request, project)
+
+def project_json_externalid(request, id):
+    
+    project = Project.objects.get(external_id=id)
+
+    return project_json(request, project)
+
+
+
+def project_json(request, project):
+
+    resp = HttpResponse(mimetype="application/json; charset=utf-8")
+    resp['Cache-Control']='no-cache, must-revalidate'
+    resp['Pragma']='no-cache'
+    
+    ps = ProjectSerializer(project)
+    project_dict = ps.serialize_to_cinelab()
+    
+    json_serializer = serializers.get_serializer("json")()
+    json_serializer.serialize(project_array, ensure_ascii=False, stream=resp)
+
+    return resp
+
+
 def save_ldtProject(request):
     if request.method=="POST":
         ldt = request.POST['ldt']