diff --git a/autosubmit/job/job_utils.py b/autosubmit/job/job_utils.py index b73e21fbad52dcbc459083b62a4604ea113c7fd0..f0281dabf6d87a3df4237dddc88dd9d70b41a292 100644 --- a/autosubmit/job/job_utils.py +++ b/autosubmit/job/job_utils.py @@ -29,17 +29,17 @@ def transitive_reduction(graph): try: return networkx.algorithms.dag.transitive_reduction(graph) except Exception as exp: - return None - # if not is_directed_acyclic_graph(graph): - # raise NetworkXError("Transitive reduction only uniquely defined on directed acyclic graphs.") - # reduced_graph = DiGraph() - # reduced_graph.add_nodes_from(graph.nodes()) - # for u in graph: - # u_edges = set(graph[u]) - # for v in graph[u]: - # u_edges -= {y for x, y in dfs_edges(graph, v)} - # reduced_graph.add_edges_from((u, v) for v in u_edges) - # return reduced_graph + if not is_directed_acyclic_graph(graph): + raise NetworkXError( + "Transitive reduction only uniquely defined on directed acyclic graphs.") + reduced_graph = DiGraph() + reduced_graph.add_nodes_from(graph.nodes()) + for u in graph: + u_edges = set(graph[u]) + for v in graph[u]: + u_edges -= {y for x, y in dfs_edges(graph, v)} + reduced_graph.add_edges_from((u, v) for v in u_edges) + return reduced_graph class Dependency(object): @@ -63,4 +63,3 @@ class Dependency(object): self.select_chunks_orig.append(chunk_relation[1]) else: self.select_chunks_orig.append([]) -