diff options
| author | Richard Theis <rtheis@us.ibm.com> | 2015-12-23 13:44:22 -0600 |
|---|---|---|
| committer | Richard Theis <rtheis@us.ibm.com> | 2015-12-23 13:44:22 -0600 |
| commit | 0e38ef84844ba406cb18fe3893dc6bebd205ef51 (patch) | |
| tree | 65f40b124d235b3bcd0bf0847894ba1d3411b406 /openstackclient | |
| parent | 49bed38a89ffb932334b3bdab9e59b32099c9e81 (diff) | |
| download | python-openstackclient-0e38ef84844ba406cb18fe3893dc6bebd205ef51.tar.gz | |
Improve output for "os security group show"
Improve the security group rules output when running the
"os security group show" command. Each security group rule
is now displayed on a separate line.
Current output example:
$ openstack security group show default
+-------------+------------------------- ... ---+
| Field | Value ... |
+-------------+------------------------- ... ---+
| description | Default security group ... |
| id | 048a5fc3-3be1-407d-ae47-9... |
| name | default ... |
| project_id | 3b96bb2020c1459da76963f9e... |
| rules | [u"id='5d812367-9829-4340...t"] |
+-------------+------------------------- ... ---+
New output example:
+-------------+------------------------- ... ---+
| Field | Value ... |
+-------------+------------------------- ... ---+
| description | Default security group ... |
| id | 048a5fc3-3be1-407d-ae47-9... |
| name | default ... |
| project_id | 3b96bb2020c1459da76963f9e... |
| rules | id='5d812367-9829-4340-95...lt' |
| | id='ee451d1c-ade3-4975-8e...lt' |
+-------------+------------------------- ... ---+
Change-Id: I1386075310896c58a2b776e2bbec3603bd00eff1
Partial-Bug: #1519511
Related-To: blueprint neutron-client
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/common/utils.py | 7 | ||||
| -rw-r--r-- | openstackclient/compute/v2/security_group.py | 2 | ||||
| -rw-r--r-- | openstackclient/tests/common/test_utils.py | 7 |
3 files changed, 12 insertions, 4 deletions
diff --git a/openstackclient/common/utils.py b/openstackclient/common/utils.py index 42630d91..783ca8c0 100644 --- a/openstackclient/common/utils.py +++ b/openstackclient/common/utils.py @@ -154,14 +154,15 @@ def format_dict(data): return output[:-2] -def format_list(data): +def format_list(data, separator=', '): """Return a formatted strings :param data: a list of strings - :rtype: a string formatted to a,b,c + :param separator: the separator to use between strings (default: ', ') + :rtype: a string formatted based on separator """ - return ', '.join(sorted(data)) + return separator.join(sorted(data)) def get_field(item, field): diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py index e3f542b5..a6f060f6 100644 --- a/openstackclient/compute/v2/security_group.py +++ b/openstackclient/compute/v2/security_group.py @@ -390,7 +390,7 @@ class ShowSecurityGroup(show.ShowOne): # Format rules into a list of strings info.update( - {'rules': rules} + {'rules': utils.format_list(rules, separator='\n')} ) # Map 'tenant_id' column to 'project_id' info.update( diff --git a/openstackclient/tests/common/test_utils.py b/openstackclient/tests/common/test_utils.py index b564ffab..064ad417 100644 --- a/openstackclient/tests/common/test_utils.py +++ b/openstackclient/tests/common/test_utils.py @@ -347,3 +347,10 @@ class TestFindResource(test_utils.TestCase): expected = 'a, b, c' self.assertEqual(expected, utils.format_list(['a', 'b', 'c'])) self.assertEqual(expected, utils.format_list(['c', 'b', 'a'])) + + def test_format_list_separator(self): + expected = 'a\nb\nc' + actual_pre_sorted = utils.format_list(['a', 'b', 'c'], separator='\n') + actual_unsorted = utils.format_list(['c', 'b', 'a'], separator='\n') + self.assertEqual(expected, actual_pre_sorted) + self.assertEqual(expected, actual_unsorted) |
