@@ -200,6 +200,20 @@ def get_parser(self, prog_name):
200200
201201 return parser
202202
203+ def format_output_data (self , data ):
204+ # Modify data to make it more readable
205+ if self .resource in data :
206+ for k , v in data [self .resource ].iteritems ():
207+ if isinstance (v , list ):
208+ value = '\n ' .join (utils .dumps (i ) if isinstance (i , dict )
209+ else str (i ) for i in v )
210+ data [self .resource ][k ] = value
211+ elif isinstance (v , dict ):
212+ value = utils .dumps (v )
213+ data [self .resource ][k ] = value
214+ elif v is None :
215+ data [self .resource ][k ] = ''
216+
203217
204218class CreateCommand (QuantumCommand , show .ShowOne ):
205219 """Create a resource for a given tenant
@@ -239,25 +253,13 @@ def get_data(self, parsed_args):
239253 obj_creator = getattr (quantum_client ,
240254 "create_%s" % self .resource )
241255 data = obj_creator (body )
256+ self .format_output_data (data )
242257 # {u'network': {u'id': u'e9424a76-6db4-4c93-97b6-ec311cd51f19'}}
243258 info = self .resource in data and data [self .resource ] or None
244259 if info :
245260 print >> self .app .stdout , _ ('Created a new %s:' % self .resource )
246261 else :
247262 info = {'' : '' }
248- for k , v in info .iteritems ():
249- if isinstance (v , list ):
250- value = ""
251- for _item in v :
252- if value :
253- value += "\n "
254- if isinstance (_item , dict ):
255- value += utils .dumps (_item )
256- else :
257- value += str (_item )
258- info [k ] = value
259- elif v is None :
260- info [k ] = ''
261263 return zip (* sorted (info .iteritems ()))
262264
263265
@@ -435,23 +437,9 @@ def get_data(self, parsed_args):
435437
436438 obj_shower = getattr (quantum_client , "show_%s" % self .resource )
437439 data = obj_shower (_id , ** params )
440+ self .format_output_data (data )
441+ resource = data [self .resource ]
438442 if self .resource in data :
439- for k , v in data [self .resource ].iteritems ():
440- if isinstance (v , list ):
441- value = ""
442- for _item in v :
443- if value :
444- value += "\n "
445- if isinstance (_item , dict ):
446- value += utils .dumps (_item )
447- else :
448- value += str (_item )
449- data [self .resource ][k ] = value
450- elif isinstance (v , dict ):
451- value = utils .dumps (v )
452- data [self .resource ][k ] = value
453- elif v is None :
454- data [self .resource ][k ] = ''
455- return zip (* sorted (data [self .resource ].iteritems ()))
443+ return zip (* sorted (resource .iteritems ()))
456444 else :
457445 return None
0 commit comments