"""Înlocuiește marcajele din strategii/*.md cu SVG-ul lui. Substituția o face scriptul ăsta, nu agenții: la 37 de diagrame, dacă fiecare agent ar scrie în .md-ul capitolului, șapte agenți ar edita același fișier. Cheia din marcaj se caută ca gen/strategii/_.svg, unde slug-ul vine din numele capitolului (01_buy_doji.md -> buy_doji). python3 gen/strategii/substituie.py # scrie python3 gen/strategii/substituie.py --check # doar raportează, nu scrie """ import re import sys from pathlib import Path ROOT = Path(__file__).resolve().parent.parent.parent CAPITOLE = sorted((ROOT / "strategii").glob("0[1-8]_*.md")) MARCAJ = re.compile(r"^$", re.M) def slug(cale: Path) -> str: """01_buy_doji.md -> buy_doji""" return cale.stem.split("_", 1)[1] def main() -> int: check = "--check" in sys.argv puse = lipsa = 0 for cap in CAPITOLE: text = cap.read_text() s = slug(cap) def inlocuieste(m: re.Match) -> str: nonlocal puse, lipsa svg = ROOT / "gen" / "strategii" / f"{s}_{m.group(1)}.svg" if not svg.exists(): lipsa += 1 print(f"LIPSĂ {cap.name}: {svg.name}") return m.group(0) puse += 1 return svg.read_text().strip() nou = MARCAJ.sub(inlocuieste, text) if nou != text and not check: cap.write_text(nou) print(f"{puse} diagrame puse, {lipsa} lipsă") return 1 if lipsa else 0 if __name__ == "__main__": sys.exit(main())