153 lines
5.6 KiB
Diff
153 lines
5.6 KiB
Diff
|
|
diff -Naru anyjson-0.3.3/anyjson/__init__.py anyjson-0.3.3/anyjson/__init__.py
|
|
--- anyjson-0.3.3/anyjson/__init__.py 2012-06-22 07:08:51.000000000 +0800
|
|
+++ anyjson-0.3.3/anyjson/__init__.py 2022-01-18 09:42:42.000000000 +0800
|
|
@@ -23,9 +23,9 @@
|
|
from io import StringIO
|
|
else:
|
|
try:
|
|
- from cStringIO import StringIO # noqa
|
|
+ from io import StringIO # noqa
|
|
except ImportError:
|
|
- from StringIO import StringIO # noqa
|
|
+ from io import StringIO # noqa
|
|
|
|
#: List of known json modules, and the names of their loads/dumps
|
|
#: methods, as well as the exceptions they throw. Exception can be either
|
|
@@ -47,7 +47,7 @@
|
|
"""Incapsulates a JSON implementation"""
|
|
|
|
def __init__(self, modspec):
|
|
- modinfo = dict(zip(_fields, modspec))
|
|
+ modinfo = dict(list(zip(_fields, modspec)))
|
|
|
|
if modinfo["modname"] == "cjson":
|
|
import warnings
|
|
@@ -64,9 +64,9 @@
|
|
self._encode_error = modinfo["encerror"]
|
|
self._decode_error = modinfo["decerror"]
|
|
|
|
- if isinstance(modinfo["encerror"], basestring):
|
|
+ if isinstance(modinfo["encerror"], str):
|
|
self._encode_error = getattr(module, modinfo["encerror"])
|
|
- if isinstance(modinfo["decerror"], basestring):
|
|
+ if isinstance(modinfo["decerror"], str):
|
|
self._decode_error = getattr(module, modinfo["decerror"])
|
|
|
|
self.name = modinfo["modname"]
|
|
@@ -85,8 +85,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 TypeError(TypeError(*exc.args)).with_traceback(sys.exc_info()[2])
|
|
serialize = dumps
|
|
|
|
def loads(self, s):
|
|
@@ -94,11 +94,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, str):
|
|
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 ValueError(ValueError(*exc.args)).with_traceback(sys.exc_info()[2])
|
|
deserialize = loads
|
|
|
|
|
|
@@ -117,7 +117,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 -Naru anyjson-0.3.3/setup.py anyjson-0.3.3/setup.py
|
|
--- anyjson-0.3.3/setup.py 2012-06-22 06:59:59.000000000 +0800
|
|
+++ anyjson-0.3.3/setup.py 2022-01-18 09:51:44.000000000 +0800
|
|
@@ -1,9 +1,6 @@
|
|
import os
|
|
-import sys
|
|
|
|
extra = {}
|
|
-if sys.version_info >= (3, 0):
|
|
- extra.update(use_2to3=True)
|
|
|
|
try:
|
|
from setuptools import setup, find_packages
|
|
diff -Naru anyjson-0.3.3/tests/benchmark.py anyjson-0.3.3/tests/benchmark.py
|
|
--- anyjson-0.3.3/tests/benchmark.py 2012-06-22 06:59:59.000000000 +0800
|
|
+++ anyjson-0.3.3/tests/benchmark.py 2022-01-18 09:44:38.000000000 +0800
|
|
@@ -4,7 +4,7 @@
|
|
|
|
import sys
|
|
import time
|
|
-import urllib
|
|
+import urllib.request, urllib.parse, urllib.error
|
|
|
|
_small = """
|
|
{
|
|
@@ -77,8 +77,8 @@
|
|
|
|
def load_external_json():
|
|
global _reddit, _twitter
|
|
- _reddit = urllib.urlopen("http://reddit.com/.json").read()
|
|
- _twitter = urllib.urlopen("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=twitterapi&count=200").read()
|
|
+ _reddit = urllib.request.urlopen("http://reddit.com/.json").read()
|
|
+ _twitter = urllib.request.urlopen("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=twitterapi&count=200").read()
|
|
|
|
|
|
def do_benchmark(impspec, json, runs=10):
|
|
@@ -93,13 +93,13 @@
|
|
return None
|
|
|
|
start = time.time()
|
|
- for n in xrange(runs):
|
|
+ for n in range(runs):
|
|
data = reads(json)
|
|
|
|
readtime = time.time() - start
|
|
|
|
start = time.time()
|
|
- for n in xrange(runs):
|
|
+ for n in range(runs):
|
|
devnull = dumps(data)
|
|
|
|
return readtime, time.time() - start # tuple (readtime, writetime)
|
|
@@ -131,13 +131,13 @@
|
|
|
|
no_res = set([e for e in res if e[1] is None])
|
|
res = list(set(res) - no_res)
|
|
-res = [(e[0], sum(map(lambda x:x[0], e[1:])), sum(map(lambda x:x[1], e[1:]))) for e in res]
|
|
+res = [(e[0], sum([x[0] for x in e[1:]]), sum([x[1] for x in e[1:]])) for e in res]
|
|
|
|
res.sort(lambda a,b: cmp((a[1]+a[2]), b[1]+b[2]))
|
|
|
|
-print "Total Read Write Implementation"
|
|
-print "-----------------------------------"
|
|
+print("Total Read Write Implementation")
|
|
+print("-----------------------------------")
|
|
for e in res:
|
|
- print "%.3f %.3f %.3f %s" % (e[1]+e[2], e[1], e[2], e[0])
|
|
+ print("%.3f %.3f %.3f %s" % (e[1]+e[2], e[1], e[2], e[0]))
|
|
for e in no_res:
|
|
- print "Not installed:", e[0]
|
|
+ print("Not installed:", e[0])
|
|
diff -Naru anyjson-0.3.3/tests/test_implementations.py anyjson-0.3.3/tests/test_implementations.py
|
|
--- anyjson-0.3.3/tests/test_implementations.py 2012-06-22 06:59:59.000000000 +0800
|
|
+++ anyjson-0.3.3/tests/test_implementations.py 2022-01-18 09:44:49.000000000 +0800
|
|
@@ -54,4 +54,4 @@
|
|
except ImportError:
|
|
return
|
|
|
|
- assert "foo" in anyjson.loads(u'{"foo": "bar"}')
|
|
+ assert "foo" in anyjson.loads('{"foo": "bar"}')
|