Explorer
/tmp/patch_template_qa_v2.py
← Zurück ↓ Download
from pathlib import Path
p=Path('/opt/struktur/social-media-agent/templates/publication_packages.html')
s=p.read_text()
repls=[
("<div class=\"media-status {% if p.image_status == 'present' %}present{% elif p.image_status == 'error' %}error{% else %}idea{% endif %}\">{% if p.image_status == 'present' %}Bild vorhanden{% elif p.image_status == 'error' %}Bildfehler{% elif p.image_prompt %}Bildidee vorhanden{% else %}Kein Bild{% endif %}</div>","<div class=\"media-status {% if p.image_status == 'present' and (p.qa_status == 'passed' or p.image_generator != 'Codex built-in image_gen') %}present{% elif p.qa_status == 'failed' %}error{% else %}idea{% endif %}">{% if p.qa_status == 'failed' %}Technische Bildprüfung nicht bestanden{% elif p.image_status == 'present' and (p.qa_status == 'passed' or p.image_generator != 'Codex built-in image_gen') %}Bild vorhanden{% elif p.image_prompt %}Bildidee vorhanden{% else %}Kein Bild{% endif %}</div>\n      <div class=\"pp-meta\">Technische QA: {% if p.qa_status == 'passed' %}technisch geprüft{% elif p.qa_status == 'failed' %}technisch abgelehnt{% else %}noch nicht geprüft{% endif %}</div>"),
("{% if p.image_status == 'present' and p.image_path %}","{% if p.image_status == 'present' and p.qa_status != 'failed' and (p.qa_status == 'passed' or p.image_generator != 'Codex built-in image_gen') and p.image_path %}"),
("{% if p.image_prompt and p.image_status != 'present' %}","{% if p.image_prompt and (p.image_status != 'present' or p.qa_status == 'failed') %}"),
("{% if p.image_status == 'present' %}<a href=\"/bereit/{{ p.package_id }}/bild/download\">Bild herunterladen</a><form method=\"post\" action=\"/bereit/{{ p.package_id }}/bild\"><input type=\"hidden\" name=\"action\" value=\"new\"><button type=\"submit\">KI-Bild neu erzeugen</button></form>{% else %}","{% if p.image_status == 'present' and p.qa_status != 'failed' and (p.qa_status == 'passed' or p.image_generator != 'Codex built-in image_gen') %}<a href=\"/bereit/{{ p.package_id }}/bild/download\">Bild herunterladen</a><form method=\"post\" action=\"/bereit/{{ p.package_id }}/bild\"><input type=\"hidden\" name=\"action\" value=\"new\"><button type=\"submit\">KI-Bild neu erzeugen</button></form>{% else %}"),
]
for old,new in repls:
 assert s.count(old)==1, old
 s=s.replace(old,new)
# add explicit failure reason below existing error block
needle="{% if p.image_error %}<div class=\"pp-warning\">{% if 'OpenAI API Credential erforderlich' in p.image_error %}Historischer Direct-API-Versuch fehlgeschlagen; der aktuelle manuelle Bildpfad verwendet Codex built-in image_gen.{% else %}{{ p.image_error }}{% endif %}</div>{% endif %}"
addition=needle+"\n      {% if p.qa_failure_reasons and p.qa_status == 'failed' %}<div class=\"pp-warning\">Ablehnungsgrund: {{ p.qa_failure_reasons }}</div>{% endif %}"
assert s.count(needle)==1
p.write_text(s.replace(needle,addition))
print('patched QA UI')