Merge "Fallback to flavor's str_id when id is None"
This commit is contained in:
@@ -205,20 +205,15 @@ def print_dict(d, property="Property"):
|
|||||||
def find_resource(manager, name_or_id):
|
def find_resource(manager, name_or_id):
|
||||||
"""Helper for the _find_* methods."""
|
"""Helper for the _find_* methods."""
|
||||||
# first try to get entity as integer id
|
# first try to get entity as integer id
|
||||||
try:
|
|
||||||
if isinstance(name_or_id, int) or name_or_id.isdigit():
|
|
||||||
return manager.get(int(name_or_id))
|
|
||||||
except exceptions.NotFound:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if sys.version_info <= (3, 0):
|
if isinstance(name_or_id, int) or name_or_id.isdigit():
|
||||||
|
name_or_id = int(name_or_id)
|
||||||
|
elif sys.version_info <= (3, 0):
|
||||||
name_or_id = strutils.safe_decode(name_or_id)
|
name_or_id = strutils.safe_decode(name_or_id)
|
||||||
|
|
||||||
# now try to get entity as uuid
|
|
||||||
try:
|
try:
|
||||||
uuid.UUID(name_or_id)
|
|
||||||
return manager.get(name_or_id)
|
return manager.get(name_or_id)
|
||||||
except (ValueError, exceptions.NotFound):
|
except exceptions.NotFound:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@@ -87,6 +87,13 @@ def _print_object(obj):
|
|||||||
# Get rid of those ugly links
|
# Get rid of those ugly links
|
||||||
if obj._info.get('links'):
|
if obj._info.get('links'):
|
||||||
del(obj._info['links'])
|
del(obj._info['links'])
|
||||||
|
|
||||||
|
# Fallback to str_id for flavors, where necessary
|
||||||
|
if hasattr(obj, 'str_id'):
|
||||||
|
if hasattr(obj, 'id') and not obj.id:
|
||||||
|
obj._info['id'] = obj.str_id
|
||||||
|
del(obj._info['str_id'])
|
||||||
|
|
||||||
utils.print_dict(obj._info)
|
utils.print_dict(obj._info)
|
||||||
|
|
||||||
|
|
||||||
@@ -128,7 +135,15 @@ def do_flavor_list(cs, args):
|
|||||||
err_msg = ("Specify both <datastore_type> and <datastore_version_id>"
|
err_msg = ("Specify both <datastore_type> and <datastore_version_id>"
|
||||||
" to list datastore version associated flavors.")
|
" to list datastore version associated flavors.")
|
||||||
raise exceptions.CommandError(err_msg)
|
raise exceptions.CommandError(err_msg)
|
||||||
utils.print_list(flavors, ['id', 'name', 'ram'],
|
|
||||||
|
# Fallback to str_id where necessary.
|
||||||
|
_flavors = []
|
||||||
|
for f in flavors:
|
||||||
|
if not f.id and hasattr(f, 'str_id'):
|
||||||
|
f.id = f.str_id
|
||||||
|
_flavors.append(f)
|
||||||
|
|
||||||
|
utils.print_list(_flavors, ['id', 'name', 'ram'],
|
||||||
labels={'ram': 'RAM'})
|
labels={'ram': 'RAM'})
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user