From b2166aeba04b08241aba365e67dc9aa6ac54d6b4 Mon Sep 17 00:00:00 2001 From: Wilmer Uruchi Ticona Date: Wed, 8 Apr 2020 18:31:39 +0200 Subject: [PATCH] Added further improvements to #517 --- autosubmit/job/job_utils.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/autosubmit/job/job_utils.py b/autosubmit/job/job_utils.py index b73e21fba..f0281dabf 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([]) - -- GitLab