def clean_all(G, settings):
quiet = settings["<STR_LIT>"]<EOL>recon = settings["<STR_LIT>"]<EOL>sprint = settings["<STR_LIT>"]<EOL>error = settings["<STR_LIT:error>"]<EOL>all_outputs = []<EOL>for node in G.nodes(data=True):<EOL><INDENT>if "<STR_LIT>" in node[<NUM_LIT:1>]:<EOL><INDENT>for item in get_all_outputs(node[<NUM_LIT:1>]):<EOL><INDENT>all_outputs.append(item)<EOL><DEDENT><DEDENT><DEDENT>all_outputs.append("<STR_LIT>")<EOL>retcode = <NUM_LIT:0><EOL>for item in sorted(all_outputs):<EOL><INDENT>if os.path.isfile(item):<EOL><INDENT>if recon:<EOL><INDENT>sprint("<STR_LIT>".format(item))<EOL>continue<EOL><DEDENT>sprint("<STR_LIT>", level="<STR_LIT>")<EOL>try:<EOL><INDENT>os.remove(item)<EOL>sprint("<STR_LIT>", level="<STR_LIT>")<EOL><DEDENT>except:<EOL><INDENT>errmes = "<STR_LIT>"<EOL>error(errmes.format(item))<EOL>retcode = <NUM_LIT:1><EOL><DEDENT><DEDENT><DEDENT>if not retcode and not recon:<EOL><INDENT>sprint("<STR_LIT>", color=True)<EOL><DEDENT>return retcode<EOL>
Removes all the output files from all targets. Takes
the graph as the only argument

Args:
    The networkx graph object
    The settings dictionary

Returns:
    0 if successful
    1 if removing even one file failed