def get_dependent_dists(dists, dist):
if dist not in dists:<EOL><INDENT>raise DistlibException('<STR_LIT>'<EOL>'<STR_LIT>' % dist.name)<EOL><DEDENT>graph = make_graph(dists)<EOL>dep = [dist]  <EOL>todo = graph.reverse_list[dist]  <EOL>while todo:<EOL><INDENT>d = todo.pop()<EOL>dep.append(d)<EOL>for succ in graph.reverse_list[d]:<EOL><INDENT>if succ not in dep:<EOL><INDENT>todo.append(succ)<EOL><DEDENT><DEDENT><DEDENT>dep.pop(<NUM_LIT:0>)  <EOL>return dep<EOL>
Recursively generate a list of distributions from *dists* that are
    dependent on *dist*.

    :param dists: a list of distributions
    :param dist: a distribution, member of *dists* for which we are interested