use json instead of simplejson

This commit is contained in:
j 2010-02-08 20:34:54 +05:30
parent d8903b5e2f
commit 3d2e5f5bd6

View file

@ -1,11 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
from django.http import HttpResponse, Http404
from django.http import HttpResponse, Http404, HttpResponseNotFound
try: try:
import simplejson import simplejson as json
except ImportError: except ImportError:
from django.utils import simplejson from django.utils import simplejson as json
from django.conf import settings from django.conf import settings
class Http404Json(Http404): class Http404Json(Http404):
@ -18,10 +17,10 @@ def render_to_json_response(dictionary, content_type="text/json", status=200):
content_type = "text/javascript" content_type = "text/javascript"
indent = 2 indent = 2
if settings.JSON_DEBUG: if settings.JSON_DEBUG:
print simplejson.dumps(dictionary, indent=2) print json.dumps(dictionary, indent=2)
if 'status' in dictionary and 'code' in dictionary['status']: if 'status' in dictionary and 'code' in dictionary['status']:
status = dictionary['status']['code'] status = dictionary['status']['code']
return HttpResponse(simplejson.dumps(dictionary, indent=indent), return HttpResponse(json.dumps(dictionary, indent=indent),
content_type=content_type, status=status) content_type=content_type, status=status)
def get_object_or_404_json(klass, *args, **kwargs): def get_object_or_404_json(klass, *args, **kwargs):
@ -30,7 +29,7 @@ def get_object_or_404_json(klass, *args, **kwargs):
try: try:
return queryset.get(*args, **kwargs) return queryset.get(*args, **kwargs)
except queryset.model.DoesNotExist: except queryset.model.DoesNotExist:
#FIXME: how to raise exception that will only output given result
response = {'status': {'code': 404, response = {'status': {'code': 404,
'text': '%s not found' % queryset.model._meta.object_name}} 'text': '%s not found' % queryset.model._meta.object_name}}
raise Http404Json(response) raise Http404Json(response)