diff --git a/djangorestframework/compat.py b/djangorestframework/compat.py index 3e82bd98a..22b571861 100644 --- a/djangorestframework/compat.py +++ b/djangorestframework/compat.py @@ -125,4 +125,12 @@ except: # 'request': self.request # } #) - return http.HttpResponseNotAllowed(allowed_methods) \ No newline at end of file + return http.HttpResponseNotAllowed(allowed_methods) + +# parse_qs +try: + # python >= ? + from urlparse import parse_qs +except ImportError: + # python <= ? + from cgi import parse_qs \ No newline at end of file diff --git a/djangorestframework/emitters.py b/djangorestframework/emitters.py index 2990d313e..39046919d 100644 --- a/djangorestframework/emitters.py +++ b/djangorestframework/emitters.py @@ -5,6 +5,7 @@ and providing forms and links depending on the allowed methods, emitters and par """ from django.conf import settings from django.template import RequestContext, loader +from django.utils import simplejson as json from django import forms from djangorestframework.response import ErrorResponse @@ -18,11 +19,6 @@ from urllib import quote_plus import string import re -try: - import json -except ImportError: - import simplejson as json - # TODO: Rename verbose to something more appropriate diff --git a/djangorestframework/parsers.py b/djangorestframework/parsers.py index 707b61d5d..caa762779 100644 --- a/djangorestframework/parsers.py +++ b/djangorestframework/parsers.py @@ -9,20 +9,13 @@ We need a method to be able to: and multipart/form-data. (eg also handle multipart/json) """ from django.http.multipartparser import MultiPartParser as DjangoMPParser +from django.utils import simplejson as json + from djangorestframework.response import ErrorResponse from djangorestframework import status from djangorestframework.utils import as_tuple from djangorestframework.mediatypes import MediaType - -try: - import json -except ImportError: - import simplejson as json - -try: - from urlparse import parse_qs -except ImportError: - from cgi import parse_qs +from djangorestframework.compat import parse_qs diff --git a/djangorestframework/tests/authentication.py b/djangorestframework/tests/authentication.py index c825883d7..723005069 100644 --- a/djangorestframework/tests/authentication.py +++ b/djangorestframework/tests/authentication.py @@ -1,16 +1,15 @@ from django.conf.urls.defaults import patterns from django.test import TestCase from django.test import Client -from djangorestframework.compat import RequestFactory -from djangorestframework.resource import Resource from django.contrib.auth.models import User from django.contrib.auth import login +from django.utils import simplejson as json + +from djangorestframework.compat import RequestFactory +from djangorestframework.resource import Resource import base64 -try: - import json -except ImportError: - import simplejson as json + class MockResource(Resource): def post(self, request): @@ -86,3 +85,4 @@ class SessionAuthTests(TestCase): """Ensure POSTing form over session authentication without logged in user fails.""" response = self.csrf_client.post('/', {'example': 'example'}) self.assertEqual(response.status_code, 403) + diff --git a/djangorestframework/tests/reverse.py b/djangorestframework/tests/reverse.py index 1f9071b33..28fee63bd 100644 --- a/djangorestframework/tests/reverse.py +++ b/djangorestframework/tests/reverse.py @@ -1,13 +1,10 @@ from django.conf.urls.defaults import patterns, url from django.core.urlresolvers import reverse from django.test import TestCase +from django.utils import simplejson as json from djangorestframework.resource import Resource -try: - import json -except ImportError: - import simplejson as json class MockResource(Resource): diff --git a/examples/blogpost/tests.py b/examples/blogpost/tests.py index dfb4d5f57..14b0914d0 100644 --- a/examples/blogpost/tests.py +++ b/examples/blogpost/tests.py @@ -1,13 +1,15 @@ """Test a range of REST API usage of the example application. """ -from django.test import TestCase from django.core.urlresolvers import reverse +from django.test import TestCase +from django.utils import simplejson as json + +from djangorestframework.compat import RequestFactory + from blogpost import views, models import blogpost -#import json -#from rest.utils import xml2dict, dict2xml class AcceptHeaderTests(TestCase): """Test correct behaviour of the Accept header as specified by RFC 2616: @@ -164,11 +166,6 @@ class AllowedMethodsTests(TestCase): #above testcases need to probably moved to the core -from djangorestframework.compat import RequestFactory -try: - import json -except ImportError: - import simplejson as json class TestRotation(TestCase): """For the example the maximum amount of Blogposts is capped off at views.MAX_POSTS. diff --git a/examples/pygments_api/tests.py b/examples/pygments_api/tests.py index 017823b93..a8f085cfb 100644 --- a/examples/pygments_api/tests.py +++ b/examples/pygments_api/tests.py @@ -1,12 +1,12 @@ from django.test import TestCase +from django.utils import simplejson as json + from djangorestframework.compat import RequestFactory + from pygments_api import views import tempfile, shutil -try: - import json -except ImportError: - import simplejson as json + class TestPygmentsExample(TestCase):