See also
@originate in the Ruffus Manual
Decorators for more decorators
originate¶
@originate ( output, [extras,…] )¶
- Purpose:
Creates (originates) a set of starting file without dependencies from scratch (ex nihilo!)
Only called to create files which do not exist.
Invoked onces (a job created) per item in the output list.
Note
The first argument for the task function is the output. There is by definition no input for
@originate
Example:
from ruffus import * @originate(["a", "b", "c", "d"], "extra") def test(output_file, extra): open(output_file, "w") pipeline_run()>>> pipeline_run() Job = [None -> a, extra] completed Job = [None -> b, extra] completed Job = [None -> c, extra] completed Job = [None -> d, extra] completed Completed Task = test >>> # all files exist: nothing to do >>> pipeline_run() >>> # delete 'a' so that it is missing >>> import os >>> os.unlink("a") >>> pipeline_run() Job = [None -> a, extra] completed Completed Task = testParameters:
- output = output
Can be a single file name or a list of files
Each item in the list is treated as the output of a separate job
- extras = extras
Any extra parameters are passed verbatim to the task function
If you are using named parameters, these can be passed as a list, i.e.
extras= [...]
Any extra parameters are consumed by the task function and not forwarded further down the pipeline.