]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Replace urllib and urllib2 with six.moves.urllib
authorVictor Stinner <vstinner@redhat.com>
Tue, 9 Jun 2015 13:37:02 +0000 (15:37 +0200)
committerVictor Stinner <vstinner@redhat.com>
Wed, 10 Jun 2015 16:52:26 +0000 (18:52 +0200)
commitd08c7ffe52e3ee211e425c363200998704726e58
tree4be0aafc875cc1d6cc8b427aca1d83118efc5d45
parent062300ea8a9bead3310f01bd0d07e55b9f2df5ae
Replace urllib and urllib2 with six.moves.urllib

The Python 2 urllib and urllib2 modules changed a lot in Python 3. On
Python 3, the urllib functions are now grouped into submodules of
urllib: urllib.parse, urllib.error, etc. The urllib2 has been removed.
Replace urllib and urllib2 with six.moves.urllib to make the Cinder code
compatible with Python 2 and Python 3.

The new code now looks like Python 3 code (ex: "urllib.parse.urlsplit"),
but it also works on Python 2.

Replace also "import six.moves.urllib.parse as urlparse" with "from
six.moves import urllib" to uniformize the code:
"urlparse.urlsplit(href)" becomes "urllib.parse.urlsplit(href)".

This patch was generated by the urllib operation of the sixer tool version 0.4:
https://pypi.python.org/pypi/sixer

Manual changes:

* Add a try/except ImportError to get the parse_http_list function
  in cinder/api/urlmap.py
* Import the socket module instead of using urllib2.socket
  in cinder/volume/drivers/huawei/rest_common.py
* test_nimble.py: replace NIMBLE_URLLIB2 value with
  'six.moves.urllib.request'
* Remove "from six.moves.urllib import parse as urlparse", it was
  replaced with urllib.parse from six.moves.
* Reformat to respect the 80 columns constraint

Change-Id: Ibd1e7bc83bbbd93a3634207fb277d25ef1b8a086
24 files changed:
cinder/api/common.py
cinder/api/urlmap.py
cinder/image/glance.py
cinder/openstack/common/policy.py
cinder/tests/unit/api/v2/test_volumes.py
cinder/tests/unit/integrated/api/client.py
cinder/tests/unit/test_netapp_eseries_iscsi.py
cinder/tests/unit/test_nimble.py
cinder/tests/unit/test_wsgi.py
cinder/volume/drivers/cloudbyte/cloudbyte.py
cinder/volume/drivers/emc/emc_vmax_https.py
cinder/volume/drivers/emc/xtremio.py
cinder/volume/drivers/huawei/rest_common.py
cinder/volume/drivers/netapp/dataontap/client/api.py
cinder/volume/drivers/netapp/dataontap/nfs_base.py
cinder/volume/drivers/netapp/eseries/client.py
cinder/volume/drivers/nimble.py
cinder/volume/drivers/rbd.py
cinder/volume/drivers/scality.py
cinder/volume/drivers/tintri.py
cinder/volume/drivers/vmware/volumeops.py
cinder/volume/drivers/xio.py
cinder/volume/drivers/zfssa/restclient.py
cinder/volume/drivers/zfssa/webdavclient.py