Pipeline (Nested execution)
You can nest DCC invocations with a pipe section inside steps.
Example
from puzzle2.Puzzle import Puzzle
p = Puzzle("pipeTest", new=True)
steps = [
{"step": "pre", "tasks": [{"module": "tasks.win.open_file"}]},
{"step": "main", "tasks": [{"module": "tasks.win.export_file"}]},
{"step": "pipe",
"pipe": {"app": "mayapy", "version": "2024"},
"sys_path": r"C:\\path\\to\\tests_data",
"tasks": [
{"step": "pipe.pre",
"tasks": [
{"module": "tasks.win.open_file",
"data_key_replace": {"open_path": "context.OpenFile.update_context_test"}}
]}
]},
]
data = {
"pre": {"open_path": "somewhere"},
"common": {"A": 123},
"main": [{"name": "nameA"}],
"pipe.pre": {"open_path": "A"},
}
p.play(steps, data)