diff options
Diffstat (limited to 'module/web/cnl/views.py')
| -rw-r--r-- | module/web/cnl/views.py | 28 | 
1 files changed, 22 insertions, 6 deletions
| diff --git a/module/web/cnl/views.py b/module/web/cnl/views.py index 69a2ce4e8..d42a0e60b 100644 --- a/module/web/cnl/views.py +++ b/module/web/cnl/views.py @@ -11,6 +11,9 @@ from django.conf import settings  from django.http import HttpResponse  from django.http import HttpResponseServerError +from django.core.serializers import json +from django.utils import simplejson +  try:      from Crypto.Cipher import AES  except: @@ -35,9 +38,22 @@ def local_check(function):      else:          return _dec(function) +class JsonResponse(HttpResponse): +    def __init__(self, obj, request): +        cb = request.GET.get("callback") +        if cb: +            obj = {"content": obj} +            content = simplejson.dumps(obj, indent=2, cls=json.DjangoJSONEncoder, ensure_ascii=False) +            content = "%s(%s)\r\n" % (cb, content) +            HttpResponse.__init__(self, content, content_type="application/json") +        else: +            content = "%s\r\n" % obj +            HttpResponse.__init__(self, content, content_type="text/html") +        self["Cache-Control"] = "no-cache, must-revalidate" +  @local_check  def flash(request): -    return HttpResponse("JDownloader") +    return HttpResponse("JDownloader\r\n")  @local_check  def add(request): @@ -62,9 +78,9 @@ def addcrypted(request):      try:          settings.PYLOAD.add_package(package, [dlc_path], False)      except: -        return HttpResponse("") +        return JsonResponse("", request)      else: -        return HttpResponse("success") +        return JsonResponse("success", request)  @local_check  def addcrypted2(request): @@ -105,9 +121,9 @@ def addcrypted2(request):      try:          settings.PYLOAD.add_package(package, result, False)      except: -        return HttpResponse("failed can't add") +        return JsonResponse("failed can't add", request)      else: -        return HttpResponse("success") +        return JsonResponse("success", request)  @local_check  def flashgot(request): @@ -121,7 +137,7 @@ def flashgot(request):      settings.PYLOAD.add_package(package, urls, autostart) -    return HttpResponse("") +    return HttpResponse("\r\n")  @local_check  def crossdomain(request): | 
