From a22cf79707b1b0916b93ce77c0d0c8b13ad63821 Mon Sep 17 00:00:00 2001 From: chenhu Date: Mon, 26 Feb 2018 14:59:44 +0800 Subject: [PATCH] sonic-utilities: Format show vlan config output * Format the output of show vlan config Signed-off-by: chenhu --- show/main.py | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/show/main.py b/show/main.py index 74e28143c2..d2e0c19d9a 100755 --- a/show/main.py +++ b/show/main.py @@ -763,20 +763,29 @@ def config(redis_unix_socket_path): data = config_db.get_table('VLAN') keys = data.keys() - def mode(key, data): - info = [] - for m in data.get('members', []): - entry = config_db.get_entry('VLAN_MEMBER', (key, m)) - mode = entry.get('tagging_mode') - if mode == None: - info.append('?') - else: - info.append(mode) - return '\n'.join(info) + def tablelize(keys, data): + table = [] - header = ['Name', 'VID', 'Member', 'Mode'] - click.echo(tabulate([ [k, data[k]['vlanid'], '\n'.join(data[k].get('members', [])), mode(k, data[k])] for k in keys ], header)) + for k in keys: + for m in data[k].get('members', []): + r = [] + r.append(k) + r.append(data[k]['vlanid']) + r.append(m) + + entry = config_db.get_entry('VLAN_MEMBER', (k, m)) + mode = entry.get('tagging_mode') + if mode == None: + r.append('?') + else: + r.append(mode) + table.append(r) + + return table + + header = ['Name', 'VID', 'Member', 'Mode'] + click.echo(tabulate(tablelize(keys, data), header)) @cli.command('services') def services():