Explorer
/tmp/patch_template_qa.py
← Zurück ↓ Download
from pathlib import Path
p=Path('/opt/struktur/social-media-agent/templates/publication_packages.html')
s=p.read_text()
old='''      <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>
      {% if p.media_source_type %}<div class="pp-meta">Bildquelle: {{ p.media_source_type }}{% if p.media_source_ref %} · {{ p.media_source_ref }}{% endif %}</div>{% endif %}
      {% if p.image_generator %}<div class="pp-meta">Generator/Modell: {{ p.image_generator }}{% if p.image_status == "present" %} · {{ p.media_quality or "visuelle Abnahme offen" }}{% endif %}</div>{% endif %}
      {% if p.image_status == 'present' and p.image_path %}<a href="/bereit/{{ p.package_id }}/bild" target="_blank" rel="noopener"><img class="media-preview" src="/bereit/{{ p.package_id }}/bild" alt="{{ p.alt_text }}"></a>{% endif %}
      {% 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 %}
      {% if p.image_prompt and p.image_status != 'present' %}<div class="pp-text" style="margin-top:6px">Bildidee: {{ p.image_prompt }}</div>{% endif %}
      <div class="media-actions">
        {% 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 %}<form method="post" action="/bereit/{{ p.package_id }}/bild"><input type="hidden" name="action" value="generate"><button type="submit">KI-Bild erzeugen</button></form>{% endif %}
      </div>'''
new='''      <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>
      <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.media_source_type %}<div class="pp-meta">Bildquelle: {{ p.media_source_type }}{% if p.media_source_ref %} · {{ p.media_source_ref }}{% endif %}</div>{% endif %}
      {% if p.image_generator %}<div class="pp-meta">Generator/Modell: {{ p.image_generator }}{% if p.image_status == "present" %} · {{ p.media_quality or "visuelle Abnahme offen" }}{% endif %}</div>{% endif %}
      {% 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 %}<a href="/bereit/{{ p.package_id }}/bild" target="_blank" rel="noopener"><img class="media-preview" src="/bereit/{{ p.package_id }}/bild" alt="{{ p.alt_text }}"></a>{% endif %}
      {% 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 %}
      {% if p.qa_failure_reasons and p.qa_status == 'failed' %}<div class="pp-warning">Ablehnungsgrund: {{ p.qa_failure_reasons }}</div>{% endif %}
      {% if p.image_prompt and (p.image_status != 'present' or p.qa_status == 'failed') %}<div class="pp-text" style="margin-top:6px">Bildidee: {{ p.image_prompt }}</div>{% endif %}
      <div class="media-actions">
        {% 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 %}<form method="post" action="/bereit/{{ p.package_id }}/bild"><input type="hidden" name="action" value="generate"><button type="submit">KI-Bild erzeugen</button></form>{% endif %}
      </div>'''
assert s.count(old)==1
p.write_text(s.replace(old,new))
print('patched QA template')