Skip to content

Commit d5ec4f2

Browse files
committed
fix: catch PresetValidationError in CLI preset resolve
Wrap resolve_content() call in try/except so malformed wrap presets (missing placeholder) show a warning instead of crashing the CLI.
1 parent 570cdfa commit d5ec4f2

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/specify_cli/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2611,7 +2611,11 @@ def preset_resolve(
26112611
)
26122612
if has_composition:
26132613
# Verify composition is actually possible
2614-
composed = resolver.resolve_content(template_name)
2614+
try:
2615+
composed = resolver.resolve_content(template_name)
2616+
except Exception as exc:
2617+
composed = None
2618+
console.print(f" [yellow]Warning: composition error: {exc}[/yellow]")
26152619
if composed is None:
26162620
console.print(" [yellow]Warning: composition cannot produce output (no base layer with 'replace' strategy)[/yellow]")
26172621
else:

0 commit comments

Comments
 (0)