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:07 +0100
commitc91898b07465fdd5f3629babb7ff9226454de24e (patch)
treec69800c729d2decb86b47cf18f03a303733c6a87
parent38f9d7910fb5b2be5f7b1f62c4c7631d9e7138eb (diff)
downloadopenembedded-core-contrib-c91898b07465fdd5f3629babb7ff9226454de24e.tar.gz
openembedded-core-contrib-c91898b07465fdd5f3629babb7ff9226454de24e.tar.bz2
openembedded-core-contrib-c91898b07465fdd5f3629babb7ff9226454de24e.zip
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>
-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)