Merge "neutron port-list -f csv outputs poorly formatted JSON strings"

This commit is contained in:
Jenkins
2014-11-27 11:45:17 +00:00
committed by Gerrit Code Review
2 changed files with 16 additions and 0 deletions

View File

@@ -663,6 +663,14 @@ class ListCommand(NeutronCommand, lister.Lister):
return (_columns, (utils.get_item_properties(
s, _columns, formatters=self._formatters, )
for s in info), )
if parsed_args.formatter == 'csv':
return (_columns, (utils.get_item_properties(
s, _columns, formatters=self._formatters_csv)
for s in info),)
else:
return (_columns, (utils.get_item_properties(
s, _columns, formatters=self._formatters)
for s in info),)
def get_data(self, parsed_args):
self.log.debug('get_data(%s)', parsed_args)

View File

@@ -31,11 +31,19 @@ def _format_fixed_ips(port):
return ''
def _format_fixed_ips_csv(port):
try:
return [utils.dumps(ip) for ip in port['fixed_ips']]
except Exception:
return ''
class ListPort(neutronV20.ListCommand):
"""List ports that belong to a given tenant."""
resource = 'port'
_formatters = {'fixed_ips': _format_fixed_ips, }
_formatters_csv = {'fixed_ips': _format_fixed_ips_csv, }
list_columns = ['id', 'name', 'mac_address', 'fixed_ips']
pagination_support = True
sorting_support = True