def _recurse_edges()

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