summaryrefslogtreecommitdiff
path: root/django/utils/simplejson.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/utils/simplejson.py')
-rw-r--r--django/utils/simplejson.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/django/utils/simplejson.py b/django/utils/simplejson.py
new file mode 100644
index 0000000000..a851a4f8ef
--- /dev/null
+++ b/django/utils/simplejson.py
@@ -0,0 +1,31 @@
+# Django 1.5 only supports Python >= 2.6, where the standard library includes
+# the json module. Previous version of Django shipped a copy for Python < 2.6.
+
+# For backwards compatibility, we're keeping an importable json module
+# at this location, with the same lookup sequence.
+
+# Avoid shadowing the simplejson module
+from __future__ import absolute_import
+
+import warnings
+warnings.warn("django.utils.simplejson is deprecated; use json instead.",
+ PendingDeprecationWarning)
+
+try:
+ import simplejson
+except ImportError:
+ use_simplejson = False
+else:
+ # The system-installed version has priority providing it is either not an
+ # earlier version or it contains the C speedups.
+ from json import __version__ as stdlib_json_version
+ use_simplejson = (hasattr(simplejson, '_speedups') or
+ simplejson.__version__.split('.') >= stdlib_json_version.split('.'))
+
+# Make sure we copy over the version. See #17071
+if use_simplejson:
+ from simplejson import *
+ from simplejson import __version__
+else:
+ from json import *
+ from json import __version__