Merge "py3kcompat: remove in python-ceilometerclient"

This commit is contained in:
Jenkins
2014-02-26 08:38:38 +00:00
committed by Gerrit Code Review
7 changed files with 12 additions and 77 deletions

View File

@@ -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':

View File

@@ -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)

View File

@@ -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('.', '_')

View File

@@ -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

View File

@@ -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:

View File

@@ -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