Merge "python3: Strutils is not needed"
This commit is contained in:
@@ -29,6 +29,8 @@ import pkgutil
|
|||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
from cinderclient import client
|
from cinderclient import client
|
||||||
from cinderclient import exceptions as exc
|
from cinderclient import exceptions as exc
|
||||||
import cinderclient.extension
|
import cinderclient.extension
|
||||||
@@ -500,14 +502,18 @@ class OpenStackHelpFormatter(argparse.HelpFormatter):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
try:
|
try:
|
||||||
OpenStackCinderShell().main(map(strutils.safe_decode, sys.argv[1:]))
|
if sys.version_info >= (3, 0):
|
||||||
|
OpenStackCinderShell().main(sys.argv[1:])
|
||||||
|
else:
|
||||||
|
OpenStackCinderShell().main(map(strutils.safe_decode,
|
||||||
|
sys.argv[1:]))
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print("... terminating cinder client", file=sys.stderr)
|
print("... terminating cinder client", file=sys.stderr)
|
||||||
sys.exit(130)
|
sys.exit(130)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(e, exc_info=1)
|
logger.debug(e, exc_info=1)
|
||||||
message = e.message
|
message = e.message
|
||||||
if not isinstance(message, basestring):
|
if not isinstance(message, six.string_types):
|
||||||
message = str(message)
|
message = str(message)
|
||||||
print("ERROR: %s" % strutils.safe_encode(message), file=sys.stderr)
|
print("ERROR: %s" % strutils.safe_encode(message), file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
@@ -142,7 +142,14 @@ def pretty_choice_list(l):
|
|||||||
return ', '.join("'%s'" % i for i in l)
|
return ', '.join("'%s'" % i for i in l)
|
||||||
|
|
||||||
|
|
||||||
def print_list(objs, fields, formatters={}):
|
def _print(pt, order):
|
||||||
|
if sys.version_info >= (3, 0):
|
||||||
|
print(pt.get_string(sortby=order))
|
||||||
|
else:
|
||||||
|
print(strutils.safe_encode(pt.get_string(sortby=order)))
|
||||||
|
|
||||||
|
|
||||||
|
def print_list(objs, fields, formatters={}, order_by=None):
|
||||||
mixed_case_fields = ['serverId']
|
mixed_case_fields = ['serverId']
|
||||||
pt = prettytable.PrettyTable([f for f in fields], caching=False)
|
pt = prettytable.PrettyTable([f for f in fields], caching=False)
|
||||||
pt.aligns = ['l' for f in fields]
|
pt.aligns = ['l' for f in fields]
|
||||||
@@ -161,15 +168,16 @@ def print_list(objs, fields, formatters={}):
|
|||||||
row.append(data)
|
row.append(data)
|
||||||
pt.add_row(row)
|
pt.add_row(row)
|
||||||
|
|
||||||
if len(pt._rows) > 0:
|
if order_by is None:
|
||||||
print(strutils.safe_encode(pt.get_string(sortby=fields[0])))
|
order_by = fields[0]
|
||||||
|
_print(pt, order_by)
|
||||||
|
|
||||||
|
|
||||||
def print_dict(d, property="Property"):
|
def print_dict(d, property="Property"):
|
||||||
pt = prettytable.PrettyTable([property, 'Value'], caching=False)
|
pt = prettytable.PrettyTable([property, 'Value'], caching=False)
|
||||||
pt.aligns = ['l', 'l']
|
pt.aligns = ['l', 'l']
|
||||||
[pt.add_row(list(r)) for r in six.iteritems(d)]
|
[pt.add_row(list(r)) for r in six.iteritems(d)]
|
||||||
print(strutils.safe_encode(pt.get_string(sortby=property)))
|
_print(pt, property)
|
||||||
|
|
||||||
|
|
||||||
def find_resource(manager, name_or_id):
|
def find_resource(manager, name_or_id):
|
||||||
@@ -181,9 +189,12 @@ def find_resource(manager, name_or_id):
|
|||||||
except exceptions.NotFound:
|
except exceptions.NotFound:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
if sys.version_info <= (3, 0):
|
||||||
|
name_or_id = strutils.safe_decode(name_or_id)
|
||||||
|
|
||||||
# now try to get entity as uuid
|
# now try to get entity as uuid
|
||||||
try:
|
try:
|
||||||
uuid.UUID(strutils.safe_decode(name_or_id))
|
uuid.UUID(name_or_id)
|
||||||
return manager.get(name_or_id)
|
return manager.get(name_or_id)
|
||||||
except (ValueError, exceptions.NotFound):
|
except (ValueError, exceptions.NotFound):
|
||||||
pass
|
pass
|
||||||
@@ -277,7 +288,7 @@ def slugify(value):
|
|||||||
From Django's "django/template/defaultfilters.py".
|
From Django's "django/template/defaultfilters.py".
|
||||||
"""
|
"""
|
||||||
import unicodedata
|
import unicodedata
|
||||||
if not isinstance(value, unicode):
|
if not isinstance(value, six.text_type):
|
||||||
value = six.text_type(value)
|
value = six.text_type(value)
|
||||||
value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore')
|
value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore')
|
||||||
value = six.text_type(_slugify_strip_re.sub('', value).strip().lower())
|
value = six.text_type(_slugify_strip_re.sub('', value).strip().lower())
|
||||||
|
@@ -20,6 +20,8 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
from cinderclient import exceptions
|
from cinderclient import exceptions
|
||||||
from cinderclient import utils
|
from cinderclient import utils
|
||||||
|
|
||||||
@@ -258,7 +260,7 @@ def do_create(cs, args):
|
|||||||
# NOTE(vish): multiple copies of the same hint will
|
# NOTE(vish): multiple copies of the same hint will
|
||||||
# result in a list of values
|
# result in a list of values
|
||||||
if key in hints:
|
if key in hints:
|
||||||
if isinstance(hints[key], basestring):
|
if isinstance(hints[key], six.string_types):
|
||||||
hints[key] = [hints[key]]
|
hints[key] = [hints[key]]
|
||||||
hints[key] += [value]
|
hints[key] += [value]
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user