From 368a2503213753fdc39cbc3ff5fe59da57c7d048 Mon Sep 17 00:00:00 2001
From: Richard Theis <rtheis@us.ibm.com>
Date: Wed, 5 Oct 2016 07:33:31 -0500
Subject: [PATCH] SDK Refactor: Prepare network segment commands

Prepare the OSC "network segment" commands for the SDK refactor.
See [1] for details.

[1] https://etherpad.openstack.org/p/osc-network-command-sdk-support

Change-Id: I426ecdad0f9d95b89e80fb1c5ba81ffe5fe274c9
Partially-Implements: blueprint network-command-sdk-support
---
 openstackclient/network/v2/network_segment.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/openstackclient/network/v2/network_segment.py b/openstackclient/network/v2/network_segment.py
index 94722f1e68..ce1350028f 100644
--- a/openstackclient/network/v2/network_segment.py
+++ b/openstackclient/network/v2/network_segment.py
@@ -20,11 +20,16 @@ from osc_lib import exceptions
 from osc_lib import utils
 
 from openstackclient.i18n import _
+from openstackclient.network import sdk_utils
 
 
 LOG = logging.getLogger(__name__)
 
 
+def _get_columns(item):
+    return sdk_utils.get_osc_show_columns_for_sdk_resource(item, {})
+
+
 class CreateNetworkSegment(command.ShowOne):
     """Create new network segment"""
 
@@ -84,9 +89,9 @@ class CreateNetworkSegment(command.ShowOne):
         if parsed_args.segment is not None:
             attrs['segmentation_id'] = parsed_args.segment
         obj = client.create_segment(**attrs)
-        columns = tuple(sorted(obj.keys()))
+        display_columns, columns = _get_columns(obj)
         data = utils.get_item_properties(obj, columns)
-        return (columns, data)
+        return (display_columns, data)
 
 
 class DeleteNetworkSegment(command.Command):
@@ -236,6 +241,6 @@ class ShowNetworkSegment(command.ShowOne):
             parsed_args.network_segment,
             ignore_missing=False
         )
-        columns = tuple(sorted(obj.keys()))
+        display_columns, columns = _get_columns(obj)
         data = utils.get_item_properties(obj, columns)
-        return (columns, data)
+        return (display_columns, data)