--- anyjson-0.3.3/anyjson/__init__.py 2012-06-21 16:08:51.000000000 -0700
+++ anyjson-0.3.3/anyjson/__init__.py.new 2016-12-24 14:52:05.027940293 -0800
@@ -1,6 +1,7 @@
"""Wraps the best available JSON implementation available in a common
interface"""
+from six import (reraise, string_types)
import sys
VERSION = (0, 3, 3)
@@ -64,9 +65,9 @@
self._encode_error = modinfo["encerror"]
self._decode_error = modinfo["decerror"]
- if isinstance(modinfo["encerror"], basestring):
+ if isinstance(modinfo["encerror"], string_types):
self._encode_error = getattr(module, modinfo["encerror"])
- if isinstance(modinfo["decerror"], basestring):
+ if isinstance(modinfo["decerror"], string_types):
self._decode_error = getattr(module, modinfo["decerror"])
self.name = modinfo["modname"]
@@ -85,8 +86,8 @@
TypeError if the object could not be serialized."""
try:
return self._encode(data)
- except self._encode_error, exc:
- raise TypeError, TypeError(*exc.args), sys.exc_info()[2]
+ except self._encode_error as exc:
+ reraise(TypeError, TypeError(*exc.args), sys.exc_info()[2])
serialize = dumps
def loads(self, s):
@@ -94,11 +95,11 @@
ValueError if the string could not be parsed."""
# uses StringIO to support buffer objects.
try:
- if self._filedecode and not isinstance(s, basestring):
+ if self._filedecode and not isinstance(s, string_types):
return self._filedecode(StringIO(s))
return self._decode(s)
- except self._decode_error, exc:
- raise ValueError, ValueError(*exc.args), sys.exc_info()[2]
+ except self._decode_error as exc:
+ reraise(ValueError, ValueError(*exc.args), sys.exc_info()[2])
deserialize = loads
@@ -117,8 +118,7 @@
# We do NOT try to load a compatible module because that may throw an
# exception, which renders the package uninstallable with easy_install
# (It trys to execfile the script when installing, to make sure it works)
- print "Running anyjson as a stand alone script is not supported"
- sys.exit(1)
+ sys.exit("Running anyjson as a stand alone script is not supported")
else:
for modspec in _modules:
try: