diff options
author | Matthew Farrellee <matt@redhat.com> | 2014-01-13 12:47:26 -0500 |
---|---|---|
committer | Matthew Farrellee <matt@redhat.com> | 2014-01-13 12:53:36 -0500 |
commit | aad68ee3b6f81e5bc61165a240104e9f053071f4 (patch) | |
tree | 0db7a21197a1d5d784a06314253b0340e0d0961e | |
parent | e45918d47892d087350b8a8f92400143499f3519 (diff) | |
download | python-saharaclient-aad68ee3b6f81e5bc61165a240104e9f053071f4.tar.gz |
Add some pretty printing for list fields
Change-Id: Id51eb9578b0972f746e48f29099589a7719c52fa
-rw-r--r-- | savannaclient/api/shell.py | 13 | ||||
-rw-r--r-- | savannaclient/tests/nova/test_shell.py | 3 |
2 files changed, 11 insertions, 5 deletions
diff --git a/savannaclient/api/shell.py b/savannaclient/api/shell.py index 7b0afb6..446adee 100644 --- a/savannaclient/api/shell.py +++ b/savannaclient/api/shell.py @@ -16,6 +16,10 @@ from savannaclient.nova import utils +def _print_list_field(field): + return lambda obj: ', '.join(getattr(obj, field)) + + # # Plugins # ~~~~~~~ @@ -28,7 +32,8 @@ def do_plugins_list(cs, args): """Print a list of available plugins.""" plugins = cs.plugins.list() columns = ('name', 'versions', 'title') - utils.print_list(plugins, columns) + utils.print_list(plugins, columns, + {'versions': _print_list_field('versions')}) @utils.arg('--name', @@ -67,7 +72,7 @@ def do_image_list(cs, args): """Print a list of available plugins.""" images = cs.images.list() columns = ('name', 'id', 'username', 'tags', 'description') - utils.print_list(images, columns) + utils.print_list(images, columns, {'tags': _print_list_field('tags')}) @utils.arg('--id', @@ -235,8 +240,8 @@ def do_node_group_template_list(cs, args): """Print a list of available node group templates.""" templates = cs.node_group_templates.list() columns = ('name', 'id', 'plugin_name', 'node_processes', 'description') - # TODO(mattf): Make node_processes pretty - utils.print_list(templates, columns) + utils.print_list(templates, columns, + {'node_processes': _print_list_field('node_processes')}) # TODO(mattf): Add --name diff --git a/savannaclient/tests/nova/test_shell.py b/savannaclient/tests/nova/test_shell.py index ee8190f..8bdf9a3 100644 --- a/savannaclient/tests/nova/test_shell.py +++ b/savannaclient/tests/nova/test_shell.py @@ -40,7 +40,7 @@ FAKE_ENV2 = {'OS_USERNAME': 'username', class FakePlugin: name = 'fake' - versions = '1.0' + versions = ['1.0', ] title = 'a fake plugin' @@ -54,6 +54,7 @@ class FakeImage: id = 'aaa-bb-ccc' username = 'you' description = None + tags = [] class FakeImageManager: |