feat: optional step_id for custom output folder names
Allow readable step folders and xcf_stack layer labels via p.step(..., step_id=...) while keeping the per-module auto counter unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -178,6 +178,34 @@ class TestPipelineResume:
|
||||
assert "Reused external output for imagemagick_grayscale_01" in output
|
||||
assert (root / "imagemagick_grayscale_01" / "photo_a.png").exists()
|
||||
|
||||
@pytest.mark.skipif(not shutil.which("magick"), reason="ImageMagick not installed")
|
||||
def test_existing_outputs_with_custom_step_id(
|
||||
self, input_dir: Path, output_base: Path, tmp_path: Path, capsys
|
||||
) -> None:
|
||||
external = tmp_path / "external_gray"
|
||||
external.mkdir()
|
||||
for src in input_dir.iterdir():
|
||||
if src.is_file():
|
||||
make_png(external / src.name, width=4, height=4, rgb=(10, 20, 30))
|
||||
|
||||
with Pipeline(
|
||||
name="custom_id_external",
|
||||
input_dir=input_dir,
|
||||
output_base=output_base,
|
||||
verbose=True,
|
||||
existing_outputs={"input_bokeh": external},
|
||||
) as p:
|
||||
reused = p.step(
|
||||
"imagemagick_grayscale", inputs="input", step_id="input_bokeh"
|
||||
)
|
||||
p.step("imagemagick_grayscale", inputs=reused)
|
||||
root = p.run()
|
||||
|
||||
output = capsys.readouterr().out
|
||||
assert "Reused external output for input_bokeh" in output
|
||||
assert (root / "input_bokeh" / "photo_a.png").exists()
|
||||
assert not (root / "imagemagick_grayscale_01").exists()
|
||||
|
||||
|
||||
class TestMaterializeExternal:
|
||||
def test_links_files_by_stem(self, tmp_path: Path) -> None:
|
||||
|
||||
Reference in New Issue
Block a user