web/ldt/ldt_utils/views.py
changeset 30 81d408373dde
parent 27 f81da251d0aa
equal deleted inserted replaced
29:1f2c13ece5e9 30:81d408373dde
     5 from django.core.urlresolvers import reverse
     5 from django.core.urlresolvers import reverse
     6 from django.contrib.auth.decorators import login_required
     6 from django.contrib.auth.decorators import login_required
     7 from django.conf import settings
     7 from django.conf import settings
     8 from django.core import serializers
     8 from django.core import serializers
     9 from django.utils import simplejson
     9 from django.utils import simplejson
       
    10 from django.utils.html import escape
    10 from fileimport import *
    11 from fileimport import *
    11 from forms import LdtImportForm, LdtAddForm, SearchForm, AddProjectForm, CopyProjectForm
    12 from forms import LdtImportForm, LdtAddForm, SearchForm, AddProjectForm, CopyProjectForm
    12 from ldt.core.models import Owner
    13 from ldt.core.models import Owner
    13 from models import *
    14 from models import *
    14 from utils import *
    15 from utils import *
   219         indent = settings.LDT_JSON_DEFAULT_INDENT
   220         indent = settings.LDT_JSON_DEFAULT_INDENT
   220     else:
   221     else:
   221         indent = int(indent)
   222         indent = int(indent)
   222     
   223     
   223     callback = request.REQUEST.get("callback")
   224     callback = request.REQUEST.get("callback")
       
   225     escape_str = request.REQUEST.get("escape")
       
   226     escape_bool = False
       
   227     if escape_str:
       
   228         escape_bool = {'true': True, 'false': False, "0": False, "1": True}.get(escape_str.lower())
       
   229         
   224         
   230         
   225     ps = ProjectSerializer(project)
   231     ps = ProjectSerializer(project)
   226     project_dict = ps.serialize_to_cinelab()
   232     project_dict = ps.serialize_to_cinelab()
   227     
   233     
   228     json_str = simplejson.dumps(project_dict, ensure_ascii=False, indent=indent)
   234     json_str = simplejson.dumps(project_dict, ensure_ascii=False, indent=indent)
   229     
   235     
   230     if callback is not None:
   236     if callback is not None:
   231         json_str = "%s(%s)" % (callback,json_str)
   237         json_str = "%s(%s)" % (callback,json_str)
       
   238     
       
   239     if escape_bool:
       
   240         json_str = escape(json_str)
   232     
   241     
   233     resp.write(json_str)
   242     resp.write(json_str)
   234 
   243 
   235     return resp
   244     return resp
   236 
   245