Enable DAG to be rendered unpruned
This commit is contained in:
parent
a8fefc086e
commit
d9e9d0cbd1
|
@ -60,6 +60,9 @@ REPOS = REPO_SETS[DAG_VIEW]
|
||||||
# Whether to include subgraphs where all issues and PRs are closed.
|
# Whether to include subgraphs where all issues and PRs are closed.
|
||||||
INCLUDE_FINISHED = strtobool(os.environ.get('INCLUDE_FINISHED', 'false'))
|
INCLUDE_FINISHED = strtobool(os.environ.get('INCLUDE_FINISHED', 'false'))
|
||||||
|
|
||||||
|
# Whether to remove closed issues and PRs that are not downstream of open ones.
|
||||||
|
PRUNE_FINISHED = strtobool(os.environ.get('PRUNE_FINISHED', 'true'))
|
||||||
|
|
||||||
# Whether to group issues and PRs by milestone.
|
# Whether to group issues and PRs by milestone.
|
||||||
SHOW_MILESTONES = strtobool(os.environ.get('SHOW_MILESTONES', 'false'))
|
SHOW_MILESTONES = strtobool(os.environ.get('SHOW_MILESTONES', 'false'))
|
||||||
|
|
||||||
|
@ -219,12 +222,13 @@ def main():
|
||||||
dg.remove_nodes_from(nx.compose_all(ignore))
|
dg.remove_nodes_from(nx.compose_all(ignore))
|
||||||
|
|
||||||
# Prune nodes that are not downstream of any open issues.
|
# Prune nodes that are not downstream of any open issues.
|
||||||
# - It would be nice to keep the most recently-closed issues on the DAG, but
|
if PRUNE_FINISHED:
|
||||||
# dg.out_degree seems to be broken...
|
# - It would be nice to keep the most recently-closed issues on the DAG, but
|
||||||
to_prune = [n for (n, degree) in dg.in_degree() if degree == 0 and n.state == 'closed']
|
# dg.out_degree seems to be broken...
|
||||||
while len(to_prune) > 0:
|
|
||||||
dg.remove_nodes_from(to_prune)
|
|
||||||
to_prune = [n for (n, degree) in dg.in_degree() if degree == 0 and n.state == 'closed']
|
to_prune = [n for (n, degree) in dg.in_degree() if degree == 0 and n.state == 'closed']
|
||||||
|
while len(to_prune) > 0:
|
||||||
|
dg.remove_nodes_from(to_prune)
|
||||||
|
to_prune = [n for (n, degree) in dg.in_degree() if degree == 0 and n.state == 'closed']
|
||||||
|
|
||||||
do_next = [n for (n, degree) in dg.in_degree(weight='is_open') if degree == 0 and n.state != 'closed']
|
do_next = [n for (n, degree) in dg.in_degree(weight='is_open') if degree == 0 and n.state != 'closed']
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue