From c0682f5649cd906634f24ad9b7e0daad2e8e2037 Mon Sep 17 00:00:00 2001 From: Peter Stachowski Date: Wed, 25 May 2016 14:46:17 +0000 Subject: [PATCH] Fix CLI output of datastore-show The output of the CLI command datastore-show was unreadable. The output has been modified so that it now looks like: $ trove datastore-show mysql +-----------------+--------------------------------------------+ | Property | Value | +-----------------+--------------------------------------------+ | default_version | 5.7 | | id | 175a5187-df46-4d48-9c89-6fed421af03b | | name | mysql | | versions (id) | 5.6 (9162ed72-687d-4617-8e71-8ba1ed7f1dc4) | | | 5.7 (edcd8008-a1be-4e17-9182-ea2b6a5e2229) | +-----------------+--------------------------------------------+ Change-Id: Icba9cac0d0923ac5177d4ff3d248902fc64a5f04 Closes-Bug: #1585669 --- troveclient/v1/shell.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/troveclient/v1/shell.py b/troveclient/v1/shell.py index e9149685..bd2d9475 100644 --- a/troveclient/v1/shell.py +++ b/troveclient/v1/shell.py @@ -1208,10 +1208,19 @@ def do_datastore_list(cs, args): def do_datastore_show(cs, args): """Shows details of a datastore.""" datastore = cs.datastores.get(args.datastore) + + info = datastore._info.copy() + versions = info.get('versions', []) + versions_str = "\n".join( + [ver['name'] + " (" + ver['id'] + ")" for ver in versions]) + info['versions (id)'] = versions_str + info.pop('versions', None) + info.pop('links', None) if hasattr(datastore, 'default_version'): - datastore._info['default_version'] = getattr(datastore, - 'default_version') - _print_object(datastore) + def_ver_id = getattr(datastore, 'default_version') + info['default_version'] = [ + ver['name'] for ver in versions if ver['id'] == def_ver_id][0] + utils.print_dict(info) @utils.arg('datastore', metavar='',