summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2021-03-31 08:01:48 -0500
committerJohn Estabrook <jestabro@vyos.io>2021-03-31 09:43:38 -0500
commitf22fa8e6454b1cd2539ddb7c354ac9eeeac725c5 (patch)
treeafd75268e6b1bb03a2d15e2d73ec21a5a9280e89 /scripts
parent971ec5c1a50053b55bcd50843b380ec9ebd84552 (diff)
downloadvyos-1x-f22fa8e6454b1cd2539ddb7c354ac9eeeac725c5.tar.gz
vyos-1x-f22fa8e6454b1cd2539ddb7c354ac9eeeac725c5.zip
xml: T3445: avoid false positive on element references; use path name
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/override-default9
1 files changed, 5 insertions, 4 deletions
diff --git a/scripts/override-default b/scripts/override-default
index d91b89426..c8a0ff1da 100755
--- a/scripts/override-default
+++ b/scripts/override-default
@@ -63,8 +63,7 @@ def override_element(l: list):
def collect_and_override(dir_name):
"""
Collect elements with defaultValue tag into dictionary indexed by tuple
- of (name, str(ancestor path)); the second component must be immutable for
- tuple to act as key, hence str().
+ of (name: str, ancestor path: str).
"""
for fname in glob.glob(f'{dir_name}/*.xml'):
tree = etree.parse(fname)
@@ -76,11 +75,13 @@ def collect_and_override(dir_name):
for element in xp:
ap = element.xpath('ancestor::*[@name]')
- defv.setdefault((ap[-1].get("name"), str(ap[:-1])), []).append(element)
+ ap_name = [el.get("name") for el in ap]
+ ap_path_str = ' '.join(ap_name[:-1])
+ defv.setdefault((ap_name[-1], ap_path_str), []).append(element)
for k, v in defv.items():
if len(v) > 1:
- logger.debug(f'overridding default in {k[0]}')
+ logger.info(f"overridding default in {k[0]}, path '{k[1]}'")
override_element(v)
revised_str = etree.tostring(root, encoding='unicode', pretty_print=True)