27 lines
917 B
Python
27 lines
917 B
Python
#!/usr/bin/env python3
|
|
"""Setzt ein Prompt-Template zusammen: <DATEI>, <QUELLE> und optional weitere
|
|
Platzhalter ersetzen.
|
|
|
|
Aufruf: baue-prompt.py <template> <projekt-wurzel> <datei-relpfad> <ausgabe> [k=v-datei ...]
|
|
Zusätzliche Platzhalter: k=pfad ersetzt <k> durch den Inhalt der Datei pfad.
|
|
"""
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
def main():
|
|
template, wurzel, datei, ausgabe = sys.argv[1:5]
|
|
text = Path(template).read_text(encoding="utf-8")
|
|
quelle = (Path(wurzel) / datei).read_text(encoding="utf-8")
|
|
text = text.replace("<DATEI>", datei)
|
|
text = text.replace("<QUELLE>", "```python\n" + quelle + "```\n")
|
|
for extra in sys.argv[5:]:
|
|
k, pfad = extra.split("=", 1)
|
|
text = text.replace(f"<{k}>", Path(pfad).read_text(encoding="utf-8"))
|
|
Path(ausgabe).write_text(text, encoding="utf-8")
|
|
print(f"{ausgabe}: {len(text)} Zeichen")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|