#!/usr/bin/env python
"""Run all example scripts in docs/examples/ and capture their stdout to .out files."""
import subprocess
import sys
from pathlib import Path

out_dir = Path("docs/examples_output")
out_dir.mkdir(exist_ok=True)

examples = sorted(Path("docs/examples").glob("*.py"))
failed = []

for script in examples:
    out_file = out_dir / script.with_suffix(".out").name
    print(f"running {script} -> {out_file}")
    result = subprocess.run(
        [sys.executable, str(script)],
        capture_output=True,
        text=True,
    )
    if result.returncode != 0:
        print(f"FAILED: {script}\n{result.stderr}", file=sys.stderr)
        failed.append(script)
    else:
        out_file.write_text(result.stdout)

if failed:
    sys.exit(1)
