diff --git a/src/tree.py b/src/tree.py index 9dc5fe216a2b698c3a32ce80014f79aa6a177415..bb8e8794b1a8cece927728184139f6492ea50901 100644 --- a/src/tree.py +++ b/src/tree.py @@ -247,8 +247,12 @@ class TreeWalker: return config def ensure_node_id(self, config): - if "node_id" not in config: - config["node_id"] = self.gen_node_id() + if "node_id" not in config or \ + not config["node_id"].startswith(f"{self.tree}-") or \ + config["node_id"] in id_set: + new_id = self.gen_node_id() + id_set.add(new_id) + config["node_id"] = new_id return True, config else: return False, config