def _iterable_nodes(graph_in):
 nodes = nx.topological_sort(graph_in)
 inodes = [node for node in nodes if (node.iterables is not None)]
 inodes_no_src = [node for node in inodes if (not node.itersource)]
 inodes_src = [node for node in inodes if node.itersource]
 inodes_no_src.reverse()
 return (inodes_no_src + inodes_src)

def _iterable_nodes ( graph_in ) : nodes = nx . topological_sort ( graph_in ) inodes = [ node for node in nodes if ( node . iterables is not None ) ] inodes_no_src = [ node for node in inodes if ( not node . itersource ) ] inodes_src = [ node for node in inodes if node . itersource ] inodes_no_src . reverse ( ) return ( inodes_no_src + inodes_src )
returns the iterable nodes in the given graph and their join dependencies .