fix(pptx): argument optioneel, en duidelijke melding bij de verkeerde map of de notitieversie
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
@@ -7,8 +7,10 @@ alleen de dia ziet. Het beeld is een afbeelding: de opmaak is precies gelijk aan
|
||||
de tekst is in PowerPoint niet te bewerken. Wijzigen doe je in maak_dias.py en dan opnieuw
|
||||
bouwen.
|
||||
|
||||
Gebruik: python3 ../_gereedschap/maak_pptx.py <dia-pdf>
|
||||
Bijvoorbeeld in 00-sessie: python3 ../_gereedschap/maak_pptx.py sessie-agents-en-projecten.pdf
|
||||
Gebruik: python3 ../_gereedschap/maak_pptx.py
|
||||
vanuit de map van de presentatie (00-sessie, 00-lezing, 00-presentatie). Het script
|
||||
zoekt zelf de dia-PDF, dus die van de dia's en niet de notitieversie. Staat er meer dan
|
||||
een, geef dan de naam mee: python3 ../_gereedschap/maak_pptx.py sessie-agents-en-projecten.pdf
|
||||
|
||||
Staat er een notities-begeleider.json naast maak_dias.py, dan gebruikt het script die
|
||||
uitgebreide notities en zegt het erbij; dat bestand is privé, dus deel die pptx niet.
|
||||
@@ -28,10 +30,31 @@ except ImportError:
|
||||
sys.exit("python-pptx ontbreekt. Bijvoorbeeld: ~/.local/venvs/uitlegvideo/bin/python "
|
||||
"../_gereedschap/maak_pptx.py <dia-pdf>")
|
||||
|
||||
pdf = Path(sys.argv[1]).resolve()
|
||||
if not pdf.exists():
|
||||
sys.exit(f"niet gevonden: {pdf}")
|
||||
def zoek_dia_pdf(waar: Path) -> Path:
|
||||
"""De PDF van de dia's in deze map: zonder -met-notities in de naam."""
|
||||
if not (waar / "maak_dias.py").exists():
|
||||
sys.exit(f"{waar} is geen presentatiemap. Draai dit vanuit 00-sessie, 00-lezing of "
|
||||
f"00-presentatie, of geef het pad naar de dia-PDF mee.")
|
||||
kandidaten = [f for f in sorted(waar.glob("*.pdf")) if not f.stem.endswith("-met-notities")]
|
||||
if not kandidaten:
|
||||
sys.exit(f"geen dia-PDF in {waar.name}; bouw hem eerst met python3 bouw_pdf.py")
|
||||
if len(kandidaten) > 1:
|
||||
namen = ", ".join(f.name for f in kandidaten[:5])
|
||||
sys.exit(f"meerdere PDF's in {waar.name} ({namen}); geef de naam van de dia-PDF mee")
|
||||
return kandidaten[0]
|
||||
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
pdf = Path(sys.argv[1]).resolve()
|
||||
if not pdf.exists():
|
||||
sys.exit(f"niet gevonden: {pdf}")
|
||||
if pdf.stem.endswith("-met-notities"):
|
||||
sys.exit(f"{pdf.name} is de notitieversie. Geef de PDF van de dia's, of laat het argument weg.")
|
||||
else:
|
||||
pdf = zoek_dia_pdf(Path.cwd())
|
||||
MAP = pdf.parent
|
||||
if not (MAP / "maak_dias.py").exists():
|
||||
sys.exit(f"geen maak_dias.py in {MAP}; draai dit vanuit de map van een presentatie")
|
||||
P = MAP / "project"
|
||||
PRIVE = (MAP / "notities-begeleider.json").exists()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user