def flatten_output(task):
 r = flatten(task.output())
 if (not r):
  for dep in flatten(task.requires()):
   r += flatten_output(dep)
 return r

def flatten_output ( task ) : r = flatten ( task . output ( ) ) if ( not r ) : for dep in flatten ( task . requires ( ) ) : r += flatten_output ( dep ) return r
lists all output targets by recursively walking output-less tasks .