summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Guo <eric.guo@easystack.cn>2014-02-14 08:43:12 +0800
committerChangBo Guo(gcb) <eric.guo@easystack.cn>2014-02-25 09:17:54 +0800
commitd44e5986925d3129ca0d34599109ad2019295362 (patch)
tree2b87cae090dddc48a8cf400ee38f3d71df7e6f73
parentbd72fb0a2e6ebb0b4d778d9287d89b8151c05d89 (diff)
downloadpython-novaclient-d44e5986925d3129ca0d34599109ad2019295362.tar.gz
Remove usage of module py3kcompat
Module py3kcompat was removed from oslo-incubator. We need remove its usage in client side firstly. This make us move smoothly when sync oslo-incubator code. Change-Id: I8b07c32c9852e747579a23685f3c8a07ac13ec01 Partial-Bug: #1280033
-rw-r--r--novaclient/client.py7
-rw-r--r--novaclient/tests/v1_1/fakes.py4
-rw-r--r--novaclient/v1_1/contrib/migrations.py5
-rw-r--r--novaclient/v1_1/flavors.py5
-rw-r--r--novaclient/v1_1/floating_ip_dns.py7
-rw-r--r--novaclient/v1_1/hypervisors.py5
-rw-r--r--novaclient/v1_1/images.py6
-rw-r--r--novaclient/v1_1/limits.py5
-rw-r--r--novaclient/v1_1/security_groups.py4
-rw-r--r--novaclient/v1_1/servers.py4
-rw-r--r--novaclient/v1_1/volumes.py4
-rw-r--r--novaclient/v3/hypervisors.py5
-rw-r--r--novaclient/v3/images.py6
-rw-r--r--novaclient/v3/servers.py4
14 files changed, 41 insertions, 30 deletions
diff --git a/novaclient/client.py b/novaclient/client.py
index 8ec471cf..bab36301 100644
--- a/novaclient/client.py
+++ b/novaclient/client.py
@@ -30,9 +30,10 @@ try:
except ImportError:
import simplejson as json
+from six.moves.urllib import parse
+
from novaclient import exceptions
from novaclient.openstack.common.gettextutils import _
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient import service_catalog
from novaclient import utils
@@ -325,7 +326,7 @@ class HTTPClient(object):
extract_token=False)
def authenticate(self):
- magic_tuple = urlutils.urlsplit(self.auth_url)
+ magic_tuple = parse.urlsplit(self.auth_url)
scheme, netloc, path, query, frag = magic_tuple
port = magic_tuple.port
if port is None:
@@ -343,7 +344,7 @@ class HTTPClient(object):
# TODO(sandy): Assume admin endpoint is 35357 for now.
# Ideally this is going to have to be provided by the service catalog.
new_netloc = netloc.replace(':%d' % port, ':%d' % (35357,))
- admin_url = urlutils.urlunsplit(
+ admin_url = parse.urlunsplit(
(scheme, new_netloc, path, query, frag))
auth_url = self.auth_url
diff --git a/novaclient/tests/v1_1/fakes.py b/novaclient/tests/v1_1/fakes.py
index 3604312b..44330550 100644
--- a/novaclient/tests/v1_1/fakes.py
+++ b/novaclient/tests/v1_1/fakes.py
@@ -17,10 +17,10 @@
from datetime import datetime
import six
+from six.moves.urllib import parse
from novaclient import client as base_client
from novaclient import exceptions
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient.openstack.common import strutils
from novaclient.tests import fakes
from novaclient.tests import utils
@@ -64,7 +64,7 @@ class FakeHTTPClient(base_client.HTTPClient):
assert 'body' in kwargs
# Call the method
- args = urlutils.parse_qsl(urlutils.urlparse(url)[4])
+ args = parse.parse_qsl(parse.urlparse(url)[4])
kwargs.update(args)
munged_url = url.rsplit('?', 1)[0]
munged_url = munged_url.strip('/').replace('/', '_').replace('.', '_')
diff --git a/novaclient/v1_1/contrib/migrations.py b/novaclient/v1_1/contrib/migrations.py
index 507ebc9e..16be844a 100644
--- a/novaclient/v1_1/contrib/migrations.py
+++ b/novaclient/v1_1/contrib/migrations.py
@@ -14,9 +14,10 @@
migration interface
"""
+from six.moves.urllib import parse
+
from novaclient import base
from novaclient.openstack.common.gettextutils import _
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient import utils
@@ -47,7 +48,7 @@ class MigrationManager(base.ManagerWithFind):
# order, then the encoded string will be consistent in Python 2&3.
new_opts = sorted(opts.items(), key=lambda x: x[0])
- query_string = "?%s" % urlutils.urlencode(new_opts) if new_opts else ""
+ query_string = "?%s" % parse.urlencode(new_opts) if new_opts else ""
return self._list("/os-migrations%s" % query_string, "migrations")
diff --git a/novaclient/v1_1/flavors.py b/novaclient/v1_1/flavors.py
index 8aa875ff..c47c4763 100644
--- a/novaclient/v1_1/flavors.py
+++ b/novaclient/v1_1/flavors.py
@@ -16,10 +16,11 @@
Flavor interface.
"""
+from six.moves.urllib import parse
+
from novaclient import base
from novaclient import exceptions
from novaclient.openstack.common.gettextutils import _
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient.openstack.common import strutils
from novaclient import utils
@@ -112,7 +113,7 @@ class FlavorManager(base.ManagerWithFind):
# and flavors from their own projects only.
if not is_public:
qparams['is_public'] = is_public
- query_string = "?%s" % urlutils.urlencode(qparams) if qparams else ""
+ query_string = "?%s" % parse.urlencode(qparams) if qparams else ""
detail = ""
if detailed:
diff --git a/novaclient/v1_1/floating_ip_dns.py b/novaclient/v1_1/floating_ip_dns.py
index a5dfcb8d..449c7e11 100644
--- a/novaclient/v1_1/floating_ip_dns.py
+++ b/novaclient/v1_1/floating_ip_dns.py
@@ -13,8 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from six.moves.urllib import parse
+
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
def _quote_domain(domain):
@@ -24,7 +25,7 @@ def _quote_domain(domain):
but Routes tends to choke on them, so we need an extra level of
by-hand quoting here.
"""
- return urlutils.quote(domain.replace('.', '%2E'))
+ return parse.quote(domain.replace('.', '%2E'))
class FloatingIPDNSDomain(base.Resource):
@@ -101,7 +102,7 @@ class FloatingIPDNSEntryManager(base.Manager):
def get_for_ip(self, domain, ip):
"""Return a list of entries for the given domain and ip or name."""
qparams = {'ip': ip}
- params = "?%s" % urlutils.urlencode(qparams)
+ params = "?%s" % parse.urlencode(qparams)
return self._list("/os-floating-ip-dns/%s/entries%s" %
(_quote_domain(domain), params),
diff --git a/novaclient/v1_1/hypervisors.py b/novaclient/v1_1/hypervisors.py
index fae04026..4a4f2b93 100644
--- a/novaclient/v1_1/hypervisors.py
+++ b/novaclient/v1_1/hypervisors.py
@@ -17,8 +17,9 @@
Hypervisors interface (1.1 extension).
"""
+from six.moves.urllib import parse
+
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
class Hypervisor(base.Resource):
@@ -48,7 +49,7 @@ class HypervisorManager(base.ManagerWithFind):
"""
target = 'servers' if servers else 'search'
url = ('/os-hypervisors/%s/%s' %
- (urlutils.quote(hypervisor_match, safe=''), target))
+ (parse.quote(hypervisor_match, safe=''), target))
return self._list(url, 'hypervisors')
def get(self, hypervisor):
diff --git a/novaclient/v1_1/images.py b/novaclient/v1_1/images.py
index ba6820b6..f355b894 100644
--- a/novaclient/v1_1/images.py
+++ b/novaclient/v1_1/images.py
@@ -15,8 +15,10 @@
"""
Image interface.
"""
+
+from six.moves.urllib import parse
+
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
class Image(base.Resource):
@@ -63,7 +65,7 @@ class ImageManager(base.ManagerWithFind):
detail = '/detail'
if limit:
params['limit'] = int(limit)
- query = '?%s' % urlutils.urlencode(params) if params else ''
+ query = '?%s' % parse.urlencode(params) if params else ''
return self._list('/images%s%s' % (detail, query), 'images')
def delete(self, image):
diff --git a/novaclient/v1_1/limits.py b/novaclient/v1_1/limits.py
index 4ea80a05..46d77def 100644
--- a/novaclient/v1_1/limits.py
+++ b/novaclient/v1_1/limits.py
@@ -12,8 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from six.moves.urllib import parse
+
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
class Limits(base.Resource):
@@ -94,6 +95,6 @@ class LimitsManager(base.Manager):
opts['reserved'] = 1
if tenant_id:
opts['tenant_id'] = tenant_id
- query_string = "?%s" % urlutils.urlencode(opts) if opts else ""
+ query_string = "?%s" % parse.urlencode(opts) if opts else ""
return self._get("/limits%s" % query_string, "limits")
diff --git a/novaclient/v1_1/security_groups.py b/novaclient/v1_1/security_groups.py
index 00e1b48f..40d1e7ff 100644
--- a/novaclient/v1_1/security_groups.py
+++ b/novaclient/v1_1/security_groups.py
@@ -18,9 +18,9 @@ Security group interface (1.1 extension).
"""
import six
+from six.moves.urllib import parse
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
class SecurityGroup(base.Resource):
@@ -90,7 +90,7 @@ class SecurityGroupManager(base.ManagerWithFind):
qparams = dict((k, v) for (k, v) in six.iteritems(search_opts) if v)
- query_string = '?%s' % urlutils.urlencode(qparams) if qparams else ''
+ query_string = '?%s' % parse.urlencode(qparams) if qparams else ''
return self._list('/os-security-groups%s' % query_string,
'security_groups')
diff --git a/novaclient/v1_1/servers.py b/novaclient/v1_1/servers.py
index 0ae5d166..cf284d94 100644
--- a/novaclient/v1_1/servers.py
+++ b/novaclient/v1_1/servers.py
@@ -22,10 +22,10 @@ Server interface.
import base64
import six
+from six.moves.urllib import parse
from novaclient import base
from novaclient import crypto
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient.openstack.common import strutils
from novaclient.v1_1.security_groups import SecurityGroup
@@ -573,7 +573,7 @@ class ServerManager(base.BootingManagerWithFind):
# order, then the encoded string will be consistent in Python 2&3.
if qparams:
new_qparams = sorted(qparams.items(), key=lambda x: x[0])
- query_string = "?%s" % urlutils.urlencode(new_qparams)
+ query_string = "?%s" % parse.urlencode(new_qparams)
else:
query_string = ""
diff --git a/novaclient/v1_1/volumes.py b/novaclient/v1_1/volumes.py
index 1c479201..77746dd3 100644
--- a/novaclient/v1_1/volumes.py
+++ b/novaclient/v1_1/volumes.py
@@ -18,9 +18,9 @@ Volume interface (1.1 extension).
"""
import six
+from six.moves.urllib import parse
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
class Volume(base.Resource):
@@ -89,7 +89,7 @@ class VolumeManager(base.ManagerWithFind):
qparams = dict((k, v) for (k, v) in six.iteritems(search_opts) if v)
- query_string = '?%s' % urlutils.urlencode(qparams) if qparams else ''
+ query_string = '?%s' % parse.urlencode(qparams) if qparams else ''
if detailed is True:
return self._list("/volumes/detail%s" % query_string, "volumes")
diff --git a/novaclient/v3/hypervisors.py b/novaclient/v3/hypervisors.py
index 0542895f..b04a6008 100644
--- a/novaclient/v3/hypervisors.py
+++ b/novaclient/v3/hypervisors.py
@@ -17,7 +17,8 @@
Hypervisors interface
"""
-from novaclient.openstack.common.py3kcompat import urlutils
+from six.moves.urllib import parse
+
from novaclient.v1_1 import hypervisors
@@ -35,7 +36,7 @@ class HypervisorManager(hypervisors.HypervisorManager):
:param servers: If True, server information is also retrieved.
"""
url = ('/os-hypervisors/search?query=%s' %
- urlutils.quote(hypervisor_match, safe=''))
+ parse.quote(hypervisor_match, safe=''))
return self._list(url, 'hypervisors')
def servers(self, hypervisor):
diff --git a/novaclient/v3/images.py b/novaclient/v3/images.py
index 2e1b34aa..b78d9af5 100644
--- a/novaclient/v3/images.py
+++ b/novaclient/v3/images.py
@@ -16,8 +16,10 @@
"""
Image interface.
"""
+
+from six.moves.urllib import parse
+
from novaclient import base
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient.openstack.common import strutils
@@ -100,5 +102,5 @@ class ImageManager(base.ManagerWithFind):
detail = '/detail'
if limit:
params['limit'] = int(limit)
- query = '?%s' % urlutils.urlencode(params) if params else ''
+ query = '?%s' % parse.urlencode(params) if params else ''
return self._list('/v1/images%s%s' % (detail, query), 'images')
diff --git a/novaclient/v3/servers.py b/novaclient/v3/servers.py
index b097ffe6..d8ebd0a1 100644
--- a/novaclient/v3/servers.py
+++ b/novaclient/v3/servers.py
@@ -22,10 +22,10 @@ Server interface.
import base64
import six
+from six.moves.urllib import parse
from novaclient import base
from novaclient import crypto
-from novaclient.openstack.common.py3kcompat import urlutils
from novaclient.openstack.common import strutils
REBOOT_SOFT, REBOOT_HARD = 'SOFT', 'HARD'
@@ -507,7 +507,7 @@ class ServerManager(base.BootingManagerWithFind):
# order, then the encoded string will be consistent in Python 2&3.
if qparams:
new_qparams = sorted(qparams.items(), key=lambda x: x[0])
- query_string = "?%s" % urlutils.urlencode(new_qparams)
+ query_string = "?%s" % parse.urlencode(new_qparams)
else:
query_string = ""