1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
diff -ur a/anyjson/__init__.py b/anyjson/__init__.py
--- a/anyjson/__init__.py 2018-11-03 12:48:31.808085115 +0100
+++ b/anyjson/__init__.py 2018-11-03 12:48:39.784931829 +0100
@@ -1,7 +1,10 @@
"""Wraps the best available JSON implementation available in a common
interface"""
+from __future__ import print_function
import sys
+from future.utils import raise_with_traceback
+from past.builtins import basestring
VERSION = (0, 3, 3)
__version__ = ".".join(map(str, VERSION[0:3])) + "".join(VERSION[3:])
@@ -85,8 +88,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:
+ raise_with_traceback(TypeError(*exc.args))
serialize = dumps
def loads(self, s):
@@ -97,8 +100,8 @@
if self._filedecode and not isinstance(s, basestring):
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:
+ raise_with_traceback(ValueError(*exc.args))
deserialize = loads
@@ -117,7 +120,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"
+ print("Running anyjson as a stand alone script is not supported")
sys.exit(1)
else:
for modspec in _modules:
diff -ur a/setup.py b/setup.py
--- a/setup.py 2018-11-03 12:48:31.808085115 +0100
+++ b/setup.py 2018-11-03 12:48:47.935115786 +0100
@@ -87,6 +87,9 @@
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.1',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Programming Language :: Python :: Implementation :: Jython',
|