aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/contrib
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-08-12 17:22:13 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-17 10:35:07 +0100
commitc91898b07465fdd5f3629babb7ff9226454de24e (patch)
treec69800c729d2decb86b47cf18f03a303733c6a87 /scripts/contrib
parent38f9d7910fb5b2be5f7b1f62c4c7631d9e7138eb (diff)
downloadopenembedded-core-contrib-c91898b07465fdd5f3629babb7ff9226454de24e.tar.gz
graph-tool: update to new networkx API, be iterative
Update the dot parser to the new networkx API (using pydotplus to parse). Also, switch the path display to output the paths as they are found instead of collecting them into a list, so output appears sooner. Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts/contrib')
-rwxr-xr-xscripts/contrib/graph-tool13
1 files changed, 6 insertions, 7 deletions
diff --git a/scripts/contrib/graph-tool b/scripts/contrib/graph-tool
index 0275fbd5c0..1df5b8c345 100755
--- a/scripts/contrib/graph-tool
+++ b/scripts/contrib/graph-tool
@@ -30,8 +30,7 @@ def get_path_networkx(dotfile, fromnode, tonode):
print('ERROR: Please install the networkx python module')
sys.exit(1)
- graph = networkx.DiGraph(networkx.read_dot(dotfile))
-
+ graph = networkx.DiGraph(networkx.nx_pydot.read_dot(dotfile))
def node_missing(node):
import difflib
close_matches = difflib.get_close_matches(node, graph.nodes(), cutoff=0.7)
@@ -53,11 +52,11 @@ def find_paths(args, usage):
fromnode = args[1]
tonode = args[2]
- paths = list(get_path_networkx(args[0], fromnode, tonode))
- if paths:
- for path in paths:
- print(" -> ".join(map(str,path)))
- else:
+
+ path = None
+ for path in get_path_networkx(args[0], fromnode, tonode):
+ print(" -> ".join(map(str, path)))
+ if not path:
print("ERROR: no path from %s to %s in graph" % (fromnode, tonode))
sys.exit(1)