summaryrefslogtreecommitdiffstats
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
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>
-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