From 2f399727c8b3d7515549acf34bddb64f4bc9e4b5 Mon Sep 17 00:00:00 2001 From: mkaay Date: Sun, 2 May 2010 00:43:47 +0200 Subject: fixed cnl --- module/web/cnl/views.py | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'module/web/cnl/views.py') 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): -- cgit v1.2.3