@@ -109,33 +109,32 @@ def config(db):
109
109
data = db .cfgdb .get_table ('VLAN' )
110
110
keys = list (data .keys ())
111
111
member_data = db .cfgdb .get_table ('VLAN_MEMBER' )
112
-
112
+ interface_naming_mode = clicommon .get_interface_naming_mode ()
113
+ iface_alias_converter = clicommon .InterfaceAliasConverter (db )
114
+
115
+ def get_iface_name_for_display (member ):
116
+ name_for_display = member
117
+ if interface_naming_mode == "alias" and member :
118
+ name_for_display = iface_alias_converter .name_to_alias (member )
119
+ return name_for_display
120
+
121
+ def get_tagging_mode (vlan , member ):
122
+ if not member :
123
+ return ''
124
+ tagging_mode = db .cfgdb .get_entry ('VLAN_MEMBER' , (vlan , member )).get ('tagging_mode' )
125
+ return '?' if tagging_mode is None else tagging_mode
126
+
113
127
def tablelize (keys , data ):
114
128
table = []
115
129
116
130
for k in natsorted (keys ):
117
- members = set (data [k ].get ('members' , []))
118
- for (vlan , interface_name ) in member_data :
119
- if vlan == k :
120
- members .add (interface_name )
121
-
122
- for m in natsorted (list (members )):
123
- r = []
124
- r .append (k )
125
- r .append (data [k ]['vlanid' ])
126
- if clicommon .get_interface_naming_mode () == "alias" :
127
- alias = clicommon .InterfaceAliasConverter (db ).name_to_alias (m )
128
- r .append (alias )
129
- else :
130
- r .append (m )
131
-
132
- entry = db .cfgdb .get_entry ('VLAN_MEMBER' , (k , m ))
133
- mode = entry .get ('tagging_mode' )
134
- if mode is None :
135
- r .append ('?' )
136
- else :
137
- r .append (mode )
138
-
131
+ members = set ([(vlan , member ) for vlan , member in member_data if vlan == k ] + [(k , member ) for member in set (data [k ].get ('members' , []))])
132
+ # vlan with no members
133
+ if not members :
134
+ members = [(k , '' )]
135
+
136
+ for vlan , member in natsorted (members ):
137
+ r = [vlan , data [vlan ]['vlanid' ], get_iface_name_for_display (member ), get_tagging_mode (vlan , member )]
139
138
table .append (r )
140
139
141
140
return table
0 commit comments