Merge "py3kcompat: remove in python-ceilometerclient"
This commit is contained in:
@@ -31,9 +31,9 @@ except ImportError:
|
|||||||
|
|
||||||
import six
|
import six
|
||||||
from six.moves import http_client as httplib # noqa
|
from six.moves import http_client as httplib # noqa
|
||||||
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
from ceilometerclient import exc
|
from ceilometerclient import exc
|
||||||
from ceilometerclient.openstack.common.py3kcompat import urlutils
|
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@@ -51,7 +51,7 @@ class HTTPClient(object):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_connection_params(endpoint, **kwargs):
|
def get_connection_params(endpoint, **kwargs):
|
||||||
parts = urlutils.urlparse(endpoint)
|
parts = parse.urlparse(endpoint)
|
||||||
|
|
||||||
_args = (parts.hostname, parts.port, parts.path)
|
_args = (parts.hostname, parts.port, parts.path)
|
||||||
_kwargs = {'timeout': (float(kwargs.get('timeout'))
|
_kwargs = {'timeout': (float(kwargs.get('timeout'))
|
||||||
@@ -75,7 +75,7 @@ class HTTPClient(object):
|
|||||||
_class = self.connection_params[0]
|
_class = self.connection_params[0]
|
||||||
try:
|
try:
|
||||||
if self.proxy_url:
|
if self.proxy_url:
|
||||||
proxy_parts = urlutils.urlparse(self.proxy_url)
|
proxy_parts = parse.urlparse(self.proxy_url)
|
||||||
return _class(proxy_parts.hostname, proxy_parts.port,
|
return _class(proxy_parts.hostname, proxy_parts.port,
|
||||||
**self.connection_params[2])
|
**self.connection_params[2])
|
||||||
else:
|
else:
|
||||||
@@ -212,7 +212,7 @@ class HTTPClient(object):
|
|||||||
return self._http_request(url, method, **kwargs)
|
return self._http_request(url, method, **kwargs)
|
||||||
|
|
||||||
def get_proxy_url(self):
|
def get_proxy_url(self):
|
||||||
scheme = urlutils.urlparse(self.endpoint).scheme
|
scheme = parse.urlparse(self.endpoint).scheme
|
||||||
if scheme == 'https':
|
if scheme == 'https':
|
||||||
return os.environ.get('https_proxy')
|
return os.environ.get('https_proxy')
|
||||||
elif scheme == 'http':
|
elif scheme == 'http':
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ Base utilities to build API operation managers and objects on top of.
|
|||||||
import abc
|
import abc
|
||||||
|
|
||||||
import six
|
import six
|
||||||
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
from ceilometerclient.openstack.common.apiclient import exceptions
|
from ceilometerclient.openstack.common.apiclient import exceptions
|
||||||
from ceilometerclient.openstack.common.py3kcompat import urlutils
|
|
||||||
from ceilometerclient.openstack.common import strutils
|
from ceilometerclient.openstack.common import strutils
|
||||||
|
|
||||||
|
|
||||||
@@ -327,7 +327,7 @@ class CrudManager(BaseManager):
|
|||||||
return self._list(
|
return self._list(
|
||||||
'%(base_url)s%(query)s' % {
|
'%(base_url)s%(query)s' % {
|
||||||
'base_url': self.build_url(base_url=base_url, **kwargs),
|
'base_url': self.build_url(base_url=base_url, **kwargs),
|
||||||
'query': '?%s' % urlutils.urlencode(kwargs) if kwargs else '',
|
'query': '?%s' % parse.urlencode(kwargs) if kwargs else '',
|
||||||
},
|
},
|
||||||
self.collection_key)
|
self.collection_key)
|
||||||
|
|
||||||
@@ -366,7 +366,7 @@ class CrudManager(BaseManager):
|
|||||||
rl = self._list(
|
rl = self._list(
|
||||||
'%(base_url)s%(query)s' % {
|
'%(base_url)s%(query)s' % {
|
||||||
'base_url': self.build_url(base_url=base_url, **kwargs),
|
'base_url': self.build_url(base_url=base_url, **kwargs),
|
||||||
'query': '?%s' % urlutils.urlencode(kwargs) if kwargs else '',
|
'query': '?%s' % parse.urlencode(kwargs) if kwargs else '',
|
||||||
},
|
},
|
||||||
self.collection_key)
|
self.collection_key)
|
||||||
num = len(rl)
|
num = len(rl)
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ import json
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
import six
|
import six
|
||||||
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
from ceilometerclient.openstack.common.apiclient import client
|
from ceilometerclient.openstack.common.apiclient import client
|
||||||
from ceilometerclient.openstack.common.py3kcompat import urlutils
|
|
||||||
|
|
||||||
|
|
||||||
def assert_has_keys(dct, required=[], optional=[]):
|
def assert_has_keys(dct, required=[], optional=[]):
|
||||||
@@ -147,7 +147,7 @@ class FakeHTTPClient(client.HTTPClient):
|
|||||||
"text": fixture[1]})
|
"text": fixture[1]})
|
||||||
|
|
||||||
# Call the method
|
# Call the method
|
||||||
args = urlutils.parse_qsl(urlutils.urlparse(url)[4])
|
args = parse.parse_qsl(parse.urlparse(url)[4])
|
||||||
kwargs.update(args)
|
kwargs.update(args)
|
||||||
munged_url = url.rsplit('?', 1)[0]
|
munged_url = url.rsplit('?', 1)[0]
|
||||||
munged_url = munged_url.strip('/').replace('/', '_').replace('.', '_')
|
munged_url = munged_url.strip('/').replace('/', '_').replace('.', '_')
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright 2013 Canonical Ltd.
|
|
||||||
# All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
# not use this file except in compliance with the License. You may obtain
|
|
||||||
# a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations
|
|
||||||
# under the License.
|
|
||||||
#
|
|
||||||
|
|
||||||
"""
|
|
||||||
Python2/Python3 compatibility layer for OpenStack
|
|
||||||
"""
|
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
if six.PY3:
|
|
||||||
# python3
|
|
||||||
import urllib.error
|
|
||||||
import urllib.parse
|
|
||||||
import urllib.request
|
|
||||||
|
|
||||||
urlencode = urllib.parse.urlencode
|
|
||||||
urljoin = urllib.parse.urljoin
|
|
||||||
quote = urllib.parse.quote
|
|
||||||
parse_qsl = urllib.parse.parse_qsl
|
|
||||||
unquote = urllib.parse.unquote
|
|
||||||
unquote_plus = urllib.parse.unquote_plus
|
|
||||||
urlparse = urllib.parse.urlparse
|
|
||||||
urlsplit = urllib.parse.urlsplit
|
|
||||||
urlunsplit = urllib.parse.urlunsplit
|
|
||||||
SplitResult = urllib.parse.SplitResult
|
|
||||||
|
|
||||||
urlopen = urllib.request.urlopen
|
|
||||||
URLError = urllib.error.URLError
|
|
||||||
pathname2url = urllib.request.pathname2url
|
|
||||||
else:
|
|
||||||
# python2
|
|
||||||
import urllib
|
|
||||||
import urllib2
|
|
||||||
import urlparse
|
|
||||||
|
|
||||||
urlencode = urllib.urlencode
|
|
||||||
quote = urllib.quote
|
|
||||||
unquote = urllib.unquote
|
|
||||||
unquote_plus = urllib.unquote_plus
|
|
||||||
|
|
||||||
parse = urlparse
|
|
||||||
parse_qsl = parse.parse_qsl
|
|
||||||
urljoin = parse.urljoin
|
|
||||||
urlparse = parse.urlparse
|
|
||||||
urlsplit = parse.urlsplit
|
|
||||||
urlunsplit = parse.urlunsplit
|
|
||||||
SplitResult = parse.SplitResult
|
|
||||||
|
|
||||||
urlopen = urllib2.urlopen
|
|
||||||
URLError = urllib2.URLError
|
|
||||||
pathname2url = urllib.pathname2url
|
|
||||||
@@ -11,9 +11,10 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from ceilometerclient.openstack.common.py3kcompat import urlutils
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
|
|
||||||
def build_url(path, q, params=None):
|
def build_url(path, q, params=None):
|
||||||
'''This converts from a list of dicts and a list of params to
|
'''This converts from a list of dicts and a list of params to
|
||||||
@@ -38,7 +39,7 @@ def build_url(path, q, params=None):
|
|||||||
# Transform the dict to a sequence of two-element tuples in fixed
|
# Transform the dict to a sequence of two-element tuples in fixed
|
||||||
# order, then the encoded string will be consistent in Python 2&3.
|
# order, then the encoded string will be consistent in Python 2&3.
|
||||||
new_qparams = sorted(query_params.items(), key=lambda x: x[0])
|
new_qparams = sorted(query_params.items(), key=lambda x: x[0])
|
||||||
path += "?" + urlutils.urlencode(new_qparams, doseq=True)
|
path += "?" + parse.urlencode(new_qparams, doseq=True)
|
||||||
|
|
||||||
if params:
|
if params:
|
||||||
for p in params:
|
for p in params:
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
module=cliutils
|
module=cliutils
|
||||||
module=importutils
|
module=importutils
|
||||||
module=install_venv_common
|
module=install_venv_common
|
||||||
module=py3kcompat
|
|
||||||
|
|
||||||
# The base module to hold the copy of openstack.common
|
# The base module to hold the copy of openstack.common
|
||||||
base=ceilometerclient
|
base=ceilometerclient
|
||||||
|
|||||||
Reference in New Issue
Block a user