diff options
author | John Estabrook <jestabro@vyos.io> | 2023-11-25 20:00:31 -0600 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2023-11-26 18:58:38 -0600 |
commit | 3fbb1c602bb5a5003f218e437b83401664e02227 (patch) | |
tree | 7d5a6145adb5c79561642c18d6ae7f47e9d87bda /python/vyos/configdiff.py | |
parent | 6afd6eeb87a3a4ecbbd5aa9c67622d0b3c27721c (diff) | |
download | vyos-1x-3fbb1c602bb5a5003f218e437b83401664e02227.tar.gz vyos-1x-3fbb1c602bb5a5003f218e437b83401664e02227.zip |
http-api: T5782: use single config-mode script for https and http-api
Diffstat (limited to 'python/vyos/configdiff.py')
-rw-r--r-- | python/vyos/configdiff.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/python/vyos/configdiff.py b/python/vyos/configdiff.py index 1ec2dfafe..03b06c6d9 100644 --- a/python/vyos/configdiff.py +++ b/python/vyos/configdiff.py @@ -165,6 +165,30 @@ class ConfigDiff(object): return True return False + def node_changed_presence(self, path=[]) -> bool: + if self._diff_tree is None: + raise NotImplementedError("diff_tree class not available") + + path = self._make_path(path) + before = self._diff_tree.left.exists(path) + after = self._diff_tree.right.exists(path) + return (before and not after) or (not before and after) + + def node_changed_children(self, path=[]) -> list: + if self._diff_tree is None: + raise NotImplementedError("diff_tree class not available") + + path = self._make_path(path) + add = self._diff_tree.add + sub = self._diff_tree.sub + children = set() + if add.exists(path): + children.update(add.list_nodes(path)) + if sub.exists(path): + children.update(sub.list_nodes(path)) + + return list(children) + def get_child_nodes_diff_str(self, path=[]): ret = {'add': {}, 'change': {}, 'delete': {}} |