Remove six

We don't need this in a Python 3-only world.

Change-Id: I7f39c971de09684ad34cdd21ae6819bde797efb0
This commit is contained in:
jacky06 2020-05-06 00:42:29 +08:00
parent ec27571c90
commit 038146d500
11 changed files with 45 additions and 56 deletions

@ -95,7 +95,6 @@ requestsexceptions==1.2.0
rfc3986==0.3.1
Routes==2.3.1
simplejson==3.5.1
six==1.10.0
smmap==0.9.0
snowballstemmer==1.2.1
Sphinx==1.6.5

@ -36,7 +36,6 @@ Exception definitions.
import inspect
import sys
import six
from magnumclient.i18n import _
@ -456,7 +455,7 @@ def from_response(response, method, url):
kwargs["message"] = (error.get("message") or
error.get("faultstring"))
kwargs["details"] = (error.get("details") or
six.text_type(body))
str(body))
elif content_type.startswith("text/"):
kwargs["details"] = getattr(response, 'text', '')

@ -20,8 +20,7 @@ Base utilities to build API operation managers and objects on top of.
"""
import copy
import six.moves.urllib.parse as urlparse
from urllib import parse as urlparse
from magnumclient.common.apiclient import base

@ -29,8 +29,6 @@ from magnumclient.common.apiclient import exceptions
from oslo_utils import encodeutils
from oslo_utils import strutils
import prettytable
import six
from six import moves
from magnumclient.i18n import _
@ -301,10 +299,7 @@ def print_list(objs, fields, formatters=None, sortby_index=0,
row.append(data)
pt.add_row(row)
if six.PY3:
print(encodeutils.safe_encode(pt.get_string(**kwargs)).decode())
else:
print(encodeutils.safe_encode(pt.get_string(**kwargs)))
print(encodeutils.safe_encode(pt.get_string(**kwargs)).decode())
def keys_and_vals_to_strs(dictionary):
@ -315,7 +310,7 @@ def keys_and_vals_to_strs(dictionary):
def to_str(k_or_v):
if isinstance(k_or_v, dict):
return keys_and_vals_to_strs(k_or_v)
elif isinstance(k_or_v, six.text_type):
elif isinstance(k_or_v, str):
return str(k_or_v)
else:
return k_or_v
@ -334,12 +329,12 @@ def print_dict(dct, dict_property="Property", wrap=0):
for k, v in dct.items():
# convert dict to str to check length
if isinstance(v, dict):
v = six.text_type(keys_and_vals_to_strs(v))
v = str(keys_and_vals_to_strs(v))
if wrap > 0:
v = textwrap.fill(six.text_type(v), wrap)
v = textwrap.fill(str(v), wrap)
# if value has a newline, add in multiple rows
# e.g. fault with stacktrace
if v and isinstance(v, six.string_types) and r'\n' in v:
if v and isinstance(v, str) and r'\n' in v:
lines = v.strip().split(r'\n')
col1 = k
for line in lines:
@ -355,10 +350,7 @@ def print_dict(dct, dict_property="Property", wrap=0):
v = '-'
pt.add_row([k, v])
if six.PY3:
print(encodeutils.safe_encode(pt.get_string()).decode())
else:
print(encodeutils.safe_encode(pt.get_string()))
print(encodeutils.safe_encode(pt.get_string()).decode())
def get_password(max_password_prompts=3):
@ -368,7 +360,7 @@ def get_password(max_password_prompts=3):
if hasattr(sys.stdin, "isatty") and sys.stdin.isatty():
# Check for Ctrl-D
try:
for __ in moves.range(max_password_prompts):
for __ in range(max_password_prompts):
pw1 = getpass.getpass("OS Password: ")
if verify:
pw2 = getpass.getpass("Please verify: ")

@ -16,16 +16,17 @@
# under the License.
import copy
from http import client as http_client
import io
import logging
import os
import socket
import ssl
from urllib import parse as urlparse
from keystoneauth1 import adapter
from oslo_serialization import jsonutils
from oslo_utils import importutils
import six
import six.moves.urllib.parse as urlparse
from magnumclient import exceptions
@ -106,7 +107,7 @@ class HTTPClient(object):
_kwargs['key_file'] = kwargs.get('key_file', None)
_kwargs['insecure'] = kwargs.get('insecure', False)
elif parts.scheme == 'http':
_class = six.moves.http_client.HTTPConnection
_class = http_client.HTTPConnection
else:
msg = 'Unsupported scheme: %s' % parts.scheme
raise exceptions.EndpointException(msg)
@ -207,7 +208,7 @@ class HTTPClient(object):
]
body_str = ''.join(body_list)
self.log_http_response(resp, body_str)
body_iter = six.StringIO(body_str)
body_iter = io.StringIO(body_str)
else:
self.log_http_response(resp)
@ -257,7 +258,7 @@ class HTTPClient(object):
return self._http_request(url, method, **kwargs)
class VerifiedHTTPSConnection(six.moves.http_client.HTTPSConnection):
class VerifiedHTTPSConnection(http_client.HTTPSConnection):
"""httplib-compatibile connection using client-side SSL authentication
:see http://code.activestate.com/recipes/
@ -266,9 +267,9 @@ class VerifiedHTTPSConnection(six.moves.http_client.HTTPSConnection):
def __init__(self, host, port, key_file=None, cert_file=None,
ca_file=None, timeout=None, insecure=False):
six.moves.http_client.HTTPSConnection.__init__(self, host, port,
key_file=key_file,
cert_file=cert_file)
http_client.HTTPSConnection.__init__(self, host, port,
key_file=key_file,
cert_file=cert_file)
self.key_file = key_file
self.cert_file = cert_file
if ca_file is not None:

@ -31,7 +31,6 @@ import sys
from oslo_utils import encodeutils
from oslo_utils import importutils
from oslo_utils import strutils
import six
from magnumclient.common import cliutils
from magnumclient import exceptions as exc
@ -642,7 +641,7 @@ def main():
except Exception as e:
logger.debug(e, exc_info=1)
print("ERROR: %s" % encodeutils.safe_encode(six.text_type(e)),
print("ERROR: %s" % encodeutils.safe_encode(str(e)),
file=sys.stderr)
sys.exit(1)

@ -13,10 +13,11 @@
# License for the specific language governing permissions and limitations
# under the License.
from http import client as http_client
import io
from unittest import mock
from oslo_serialization import jsonutils
import six
import socket
from magnumclient.common.apiclient.exceptions import GatewayTimeout
@ -51,7 +52,7 @@ def _get_error_body(faultstring=None, debuginfo=None, err_type=NORMAL_ERROR):
return raw_body
HTTP_CLASS = six.moves.http_client.HTTPConnection
HTTP_CLASS = http_client.HTTPConnection
HTTPS_CLASS = http.VerifiedHTTPSConnection
DEFAULT_TIMEOUT = 600
@ -81,7 +82,7 @@ class HttpClientTest(utils.BaseTestCase):
def test_server_exception_empty_body(self):
error_body = _get_error_body()
fake_resp = utils.FakeResponse({'content-type': 'application/json'},
six.StringIO(error_body),
io.StringIO(error_body),
version=1,
status=500)
client = http.HTTPClient('http://localhost/')
@ -97,7 +98,7 @@ class HttpClientTest(utils.BaseTestCase):
error_msg = 'test error msg'
error_body = _get_error_body(error_msg, err_type=ERROR_DICT)
fake_resp = utils.FakeResponse({'content-type': 'application/json'},
six.StringIO(error_body),
io.StringIO(error_body),
version=1,
status=500)
client = http.HTTPClient('http://localhost/')
@ -116,7 +117,7 @@ class HttpClientTest(utils.BaseTestCase):
error_body = _get_error_body(error_msg, error_trace,
ERROR_LIST_WITH_DESC)
fake_resp = utils.FakeResponse({'content-type': 'application/json'},
six.StringIO(error_body),
io.StringIO(error_body),
version=1,
status=500)
client = http.HTTPClient('http://localhost/')
@ -270,7 +271,7 @@ class HttpClientTest(utils.BaseTestCase):
def test_401_unauthorized_exception(self):
error_body = _get_error_body(err_type=ERROR_LIST_WITH_DETAIL)
fake_resp = utils.FakeResponse({'content-type': 'text/plain'},
six.StringIO(error_body),
io.StringIO(error_body),
version=1,
status=401)
client = http.HTTPClient('http://localhost/')
@ -299,7 +300,7 @@ class HttpClientTest(utils.BaseTestCase):
err = "foo"
fake_resp = utils.FakeResponse(
{'content-type': 'application/json'},
six.StringIO(err), version=1, status=200)
io.StringIO(err), version=1, status=200)
client = http.HTTPClient('http://localhost/')
conn = utils.FakeConnection(fake_resp)
client.get_connection = (lambda *a, **kw: conn)
@ -325,7 +326,7 @@ class HttpClientTest(utils.BaseTestCase):
def test_server_success_body_none(self):
fake_resp = utils.FakeResponse(
{'content-type': None},
six.StringIO('bar'), version=1, status=200)
io.StringIO('bar'), version=1, status=200)
client = http.HTTPClient('http://localhost/')
conn = utils.FakeConnection(fake_resp)
client.get_connection = (lambda *a, **kw: conn)
@ -339,7 +340,7 @@ class HttpClientTest(utils.BaseTestCase):
err = _get_error_body()
fake_resp = utils.FakeResponse(
{'content-type': 'application/json'},
six.StringIO(err), version=1, status=200)
io.StringIO(err), version=1, status=200)
client = http.HTTPClient('http://localhost/')
conn = utils.FakeConnection(fake_resp)
client.get_connection = (lambda *a, **kw: conn)

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import io
import re
import sys
from unittest import mock
@ -19,7 +20,6 @@ from unittest import mock
import argparse
import fixtures
from keystoneauth1 import fixture
import six
from testtools import matchers
from magnumclient import exceptions
@ -231,8 +231,8 @@ class ShellTest(utils.TestCase):
self.assertEqual(False, session_kwargs['verify'])
@mock.patch('sys.argv', ['magnum'])
@mock.patch('sys.stdout', six.StringIO())
@mock.patch('sys.stderr', six.StringIO())
@mock.patch('sys.stdout', io.StringIO())
@mock.patch('sys.stderr', io.StringIO())
def test_main_noargs(self):
# Ensure that main works with no command-line arguments
try:

@ -15,12 +15,11 @@
# License for the specific language governing permissions and limitations
# under the License.
import builtins
import collections
from unittest import mock
from oslo_serialization import jsonutils
import six
import six.moves.builtins as __builtin__
import tempfile
from magnumclient.common import cliutils
@ -220,10 +219,10 @@ class FormatLabelsTest(test_utils.BaseTestCase):
class CliUtilsTest(test_utils.BaseTestCase):
def test_keys_and_vals_to_strs(self):
dict_in = {six.u('a'): six.u('1'),
six.u('b'): {six.u('x'): 1,
'y': six.u('2'),
six.u('z'): six.u('3')},
dict_in = {'a': '1',
'b': {'x': 1,
'y': '2',
'z': '3'},
'c': 7}
dict_exp = collections.OrderedDict([
@ -240,7 +239,7 @@ class CliUtilsTest(test_utils.BaseTestCase):
('b', collections.OrderedDict(sorted(dict_out['b'].items()))),
('c', dict_out['c'])])
self.assertEqual(six.text_type(dict_exp), six.text_type(dict_act))
self.assertEqual(str(dict_exp), str(dict_act))
class HandleJsonFromFileTest(test_utils.BaseTestCase):
@ -264,7 +263,7 @@ class HandleJsonFromFileTest(test_utils.BaseTestCase):
self.assertEqual(jsonutils.loads(contents), steps)
@mock.patch.object(__builtin__, 'open', autospec=True)
@mock.patch.object(builtins, 'open', autospec=True)
def test_handle_json_from_file_open_fail(self, mock_open):
mock_file_object = mock.MagicMock()
mock_file_handle = mock.MagicMock()

@ -15,12 +15,13 @@
import copy
import datetime
import io
import os
from oslo_serialization import jsonutils
import queue
import sys
import fixtures
import six
import testtools
from magnumclient.common import httpclient as http
@ -51,7 +52,7 @@ class FakeAPI(object):
def raw_request(self, *args, **kwargs):
response = self._request(*args, **kwargs)
body_iter = http.ResponseBodyIterator(six.StringIO(response[1]))
body_iter = http.ResponseBodyIterator(io.StringIO(response[1]))
return FakeResponse(response[0]), body_iter
def json_request(self, *args, **kwargs):
@ -61,7 +62,7 @@ class FakeAPI(object):
class FakeConnection(object):
def __init__(self, response=None, **kwargs):
self._response = six.moves.queue.Queue()
self._response = queue.Queue()
self._response.put(response)
self._last_request = None
self._exc = kwargs['exc'] if 'exc' in kwargs else None
@ -156,8 +157,8 @@ class TestCase(testtools.TestCase):
orig = sys.stdout
orig_stderr = sys.stderr
try:
sys.stdout = six.StringIO()
sys.stderr = six.StringIO()
sys.stdout = io.StringIO()
sys.stderr = io.StringIO()
_shell = shell.OpenStackMagnumShell()
_shell.main(argstr.split())
except SystemExit:

@ -4,7 +4,6 @@
pbr!=2.1.0,>=2.0.0 # Apache-2.0
Babel!=2.4.0,>=2.3.4 # BSD
six>=1.10.0 # MIT
keystoneauth1>=3.4.0 # Apache-2.0
stevedore>=1.20.0 # Apache-2.0
requests>=2.14.2 # Apache-2.0