summaryrefslogtreecommitdiff
path: root/python/vyos/ifconfig_vlan.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-07-19 20:45:29 +0200
committerChristian Poessinger <christian@poessinger.com>2020-07-25 15:36:07 +0200
commita25d7095e009469d8ef60b63deddd94d30921723 (patch)
treedefbe9b68845e714e2d3ddf93b5191592be97f61 /python/vyos/ifconfig_vlan.py
parent2b1c3dc86fe4033030855d61bf453aa730b6c230 (diff)
downloadvyos-1x-a25d7095e009469d8ef60b63deddd94d30921723.tar.gz
vyos-1x-a25d7095e009469d8ef60b63deddd94d30921723.zip
bridge: ifconfig: T2653: move to get_config_dict()
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge. While providing a new update() method in vyos.ifconfig.interfaces() this is extended for bridge interfaces in the derived bridge class. Signed-off-by: Christian Poessinger <christian@poessinger.com>
Diffstat (limited to 'python/vyos/ifconfig_vlan.py')
-rw-r--r--python/vyos/ifconfig_vlan.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/python/vyos/ifconfig_vlan.py b/python/vyos/ifconfig_vlan.py
index ecb6796fa..0e4ecda53 100644
--- a/python/vyos/ifconfig_vlan.py
+++ b/python/vyos/ifconfig_vlan.py
@@ -28,15 +28,18 @@ def get_removed_vlans(conf, dict):
D.set_level(conf.get_level())
# get_child_nodes() will return dict_keys(), mangle this into a list with PEP448
keys = D.get_child_nodes_diff(['vif'], expand_nodes=Diff.DELETE)['delete'].keys()
- dict['vif_remove'] = [*keys]
+ if keys:
+ dict.update({'vif_remove': [*keys]})
# get_child_nodes() will return dict_keys(), mangle this into a list with PEP448
keys = D.get_child_nodes_diff(['vif-s'], expand_nodes=Diff.DELETE)['delete'].keys()
- dict['vif_s_remove'] = [*keys]
+ if keys:
+ dict.update({'vif_s_remove': [*keys]})
for vif in dict.get('vif_s', {}).keys():
keys = D.get_child_nodes_diff(['vif-s', vif, 'vif-c'], expand_nodes=Diff.DELETE)['delete'].keys()
- dict['vif_s'][vif]['vif_c_remove'] = [*keys]
+ if keys:
+ dict.update({'vif_s': { vif : {'vif_c_remove': [*keys]}}})
return dict