diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-04-29 19:58:00 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-04-29 19:58:00 +0200 |
| commit | cec6bd5a59547dc97fe98975c570fc27a1e970be (patch) | |
| tree | d084ff2008e4bba125c4b28297d6469992f2ec95 /django/utils/simplejson.py | |
| parent | ee0a7c741e98214bac7eeb60b848cf099ff28836 (diff) | |
Fixed #18023 -- Removed bundled simplejson.
And started the deprecation path for django.utils.simplejson.
Thanks Alex Ogier, Clueless, and other contributors for their
work on the patch.
Diffstat (limited to 'django/utils/simplejson.py')
| -rw-r--r-- | django/utils/simplejson.py | 31 |
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__ |
