From 8c71a35eebb25a4930c7d0c2cc4cf0d57b1f6c72 Mon Sep 17 00:00:00 2001 From: Ankur Gupta Date: Wed, 12 Oct 2016 13:41:12 -0500 Subject: SDK Refactor: Prepare ip availability commands Prepared the OSC "ip availability" commands for the SDK refactor. See [1] for details. [1] https://etherpad.openstack.org/p/osc-network-command-sdk-support Change-Id: Ia22e9fafec0a91ba1b0f1ce825fcaf1d8cbbbf88 Partially-Implements: blueprint network-command-sdk-support --- openstackclient/network/v2/ip_availability.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/ip_availability.py b/openstackclient/network/v2/ip_availability.py index 1d7b2aed..839e1d00 100644 --- a/openstackclient/network/v2/ip_availability.py +++ b/openstackclient/network/v2/ip_availability.py @@ -18,7 +18,7 @@ from osc_lib import utils from openstackclient.i18n import _ from openstackclient.identity import common as identity_common - +from openstackclient.network import sdk_utils _formatters = { 'subnet_ip_availability': utils.format_list_of_dicts, @@ -26,13 +26,14 @@ _formatters = { def _get_columns(item): - columns = list(item.keys()) - if 'tenant_id' in columns: - columns.remove('tenant_id') - columns.append('project_id') - return tuple(sorted(columns)) + column_map = { + 'tenant_id': 'project_id', + } + return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map) +# TODO(ankur-gupta-f): Use the SDK resource mapped attribute names once +# the OSC minimum requirements include SDK 1.0. class ListIPAvailability(command.Lister): """List IP availability for network""" @@ -84,6 +85,7 @@ class ListIPAvailability(command.Lister): parsed_args.project_domain, ).id filters['tenant_id'] = project_id + filters['project_id'] = project_id data = client.network_ip_availabilities(**filters) return (column_headers, (utils.get_item_properties( @@ -107,6 +109,6 @@ class ShowIPAvailability(command.ShowOne): client = self.app.client_manager.network obj = client.find_network_ip_availability(parsed_args.network, ignore_missing=False) - columns = _get_columns(obj) + display_columns, columns = _get_columns(obj) data = utils.get_item_properties(obj, columns, formatters=_formatters) - return (columns, data) + return (display_columns, data) -- cgit v1.2.1