Revision d44c236b tools/cloud
b/tools/cloud | ||
---|---|---|
22 | 22 |
return decorator |
23 | 23 |
|
24 | 24 |
|
25 |
def address_to_string(address): |
|
26 |
key = address['id'] |
|
27 |
val = ', '.join(ip['addr'] for ip in address['values']) |
|
28 |
return '%s[%s]' % (key, val) if val else key |
|
25 |
def print_addresses(networks): |
|
26 |
for i, net in enumerate(networks): |
|
27 |
key = 'addresses:'.rjust(13) if i == 0 else ' ' * 13 |
|
28 |
addr = '' |
|
29 |
if 'values' in net: |
|
30 |
addr = '[%s]' % ' '.join(ip['addr'] for ip in net['values']) |
|
31 |
|
|
32 |
val = '%d/%s %s %s' % (net['id'], net['name'], net['mac'], addr) |
|
33 |
print '%s %s' % (key, val) |
|
29 | 34 |
|
30 | 35 |
def print_dict(d, show_empty=True): |
31 | 36 |
for key, val in sorted(d.items()): |
32 | 37 |
if key == 'metadata': |
33 | 38 |
val = ', '.join('%s="%s"' % x for x in val['values'].items()) |
34 | 39 |
elif key == 'addresses': |
35 |
val = ' '.join(address_to_string(address) for address in val['values']) |
|
40 |
print_addresses(val['values']) |
|
41 |
continue |
|
36 | 42 |
elif key == 'servers': |
37 | 43 |
val = ', '.join(str(server_id) for server_id in val['values']) |
38 | 44 |
if val or show_empty: |
... | ... | |
272 | 278 |
reply = self.http_get(path) |
273 | 279 |
|
274 | 280 |
addresses = [reply['network']] if network else reply['addresses']['values'] |
275 |
for address in addresses: |
|
276 |
print address_to_string(address) |
|
281 |
print_addresses(addresses) |
|
277 | 282 |
|
278 | 283 |
|
279 | 284 |
@command_name('lsflv') |
Also available in: Unified diff