summaryrefslogtreecommitdiffstats
path: root/scripts/contrib/graph-tool
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:42 +0100
commita56f14e5fcc3e7db1746be862533a7fe337c8c15 (patch)
treefc15a05f66076dc989cd3575f826ec5d7b497429 /scripts/contrib/graph-tool
parenta1f39e5117001c114f6fe61c2e9c22f85b99b25a (diff)
downloadpoky-a56f14e5fcc3e7db1746be862533a7fe337c8c15.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. (From OE-Core rev: c91898b07465fdd5f3629babb7ff9226454de24e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/contrib/graph-tool')
-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):
30 print('ERROR: Please install the networkx python module') 30 print('ERROR: Please install the networkx python module')
31 sys.exit(1) 31 sys.exit(1)
32 32
33 graph = networkx.DiGraph(networkx.read_dot(dotfile)) 33 graph = networkx.DiGraph(networkx.nx_pydot.read_dot(dotfile))
34
35 def node_missing(node): 34 def node_missing(node):
36 import difflib 35 import difflib
37 close_matches = difflib.get_close_matches(node, graph.nodes(), cutoff=0.7) 36 close_matches = difflib.get_close_matches(node, graph.nodes(), cutoff=0.7)
@@ -53,11 +52,11 @@ def find_paths(args, usage):
53 52
54 fromnode = args[1] 53 fromnode = args[1]
55 tonode = args[2] 54 tonode = args[2]
56 paths = list(get_path_networkx(args[0], fromnode, tonode)) 55
57 if paths: 56 path = None
58 for path in paths: 57 for path in get_path_networkx(args[0], fromnode, tonode):
59 print(" -> ".join(map(str,path))) 58 print(" -> ".join(map(str, path)))
60 else: 59 if not path:
61 print("ERROR: no path from %s to %s in graph" % (fromnode, tonode)) 60 print("ERROR: no path from %s to %s in graph" % (fromnode, tonode))
62 sys.exit(1) 61 sys.exit(1)
63 62