]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Synced jsonutils from oslo-incubator
authorIhar Hrachyshka <ihrachys@redhat.com>
Tue, 29 Apr 2014 14:23:46 +0000 (16:23 +0200)
committerIhar Hrachyshka <ihrachys@redhat.com>
Tue, 29 Apr 2014 14:23:46 +0000 (16:23 +0200)
The sync includes change that drastically enhances performance on Python
2.6 with fresh simplejson library installed.

The latest commit in oslo-incubator:
732bdb6297eb9de81667f7713ebcb1ccc2ee45a7

Change-Id: Ib3dc0b713ed90396919feba018772243b3b9c90f
Closes-Bug: 1314129

neutron/openstack/common/jsonutils.py

index d4a764b02dd26780c17721d7227ac437a263cb23..ba2437dc26fd47035844b7579725b7dad865ae8a 100644 (file)
@@ -35,18 +35,20 @@ import datetime
 import functools
 import inspect
 import itertools
-import json
-try:
-    import xmlrpclib
-except ImportError:
-    # NOTE(jaypipes): xmlrpclib was renamed to xmlrpc.client in Python3
-    #                 however the function and object call signatures
-    #                 remained the same. This whole try/except block should
-    #                 be removed and replaced with a call to six.moves once
-    #                 six 1.4.2 is released. See http://bit.ly/1bqrVzu
-    import xmlrpc.client as xmlrpclib
+import sys
+
+if sys.version_info < (2, 7):
+    # On Python <= 2.6, json module is not C boosted, so try to use
+    # simplejson module if available
+    try:
+        import simplejson as json
+    except ImportError:
+        import json
+else:
+    import json
 
 import six
+import six.moves.xmlrpc_client as xmlrpclib
 
 from neutron.openstack.common import gettextutils
 from neutron.openstack.common import importutils