def get_specs_depth_first(self):
done = set()<EOL>specs = [self]<EOL>def recursive_find(task_spec):<EOL><INDENT>if task_spec in done:<EOL><INDENT>return<EOL><DEDENT>done.add(task_spec)<EOL>if hasattr(task_spec, '<STR_LIT>'):<EOL><INDENT>specs.append(task_spec.spec)<EOL>recursive_find(task_spec.spec.start)<EOL><DEDENT>for t in task_spec.outputs:<EOL><INDENT>recursive_find(t)<EOL><DEDENT><DEDENT>recursive_find(self.start)<EOL>return specs<EOL>
Get the specs for all processes (including called ones), in depth first
order.