in src/dfcx_scrapi/tools/agent_checker_util.py [0:0]
def _recurse_edges(self, edges: Dict[str, List[str]], page: str,
visited: set, depth: int, max_depth: int,
filter_special_pages: bool):
"""Recursion method used to traverse the agent graph for page data.
Args:
edges: The set of graph edges collected from the agent.
page: The current Page Display Name
visited: A set of visited Page nodes
depth: The current recursion depth
max_depth: The max recursion depth
filter_special_pages: Will discard all self.special_pages from output
if set to False.
"""
if depth == max_depth:
return visited
if page in edges:
for inner_page in edges[page]:
if self._filter_special_pages(inner_page, filter_special_pages):
return visited
if inner_page not in visited:
visited.add(inner_page)
visited = self._recurse_edges(
edges, inner_page, visited, depth+1, max_depth,
filter_special_pages)
return visited