#!/usr/bin/env python3
"""Generate branded PDF from HTML template with content injection."""

import sys
import os
from datetime import datetime

TEMPLATE = "/root/aria/scripts/aria-pdf-template.html"

def generate_pdf(title, subtitle, content_html, output_path, badge="Recherche"):
    with open(TEMPLATE) as f:
        html = f.read()

    date_str = datetime.now().strftime("%d.%m.%Y")
    html = html.replace("{{TITLE}}", title)
    html = html.replace("{{SUBTITLE}}", subtitle)
    html = html.replace("{{DATE}}", date_str)
    html = html.replace("{{BADGE}}", badge)
    html = html.replace("{{CONTENT}}", content_html)

    # Write temp HTML
    tmp = output_path.replace(".pdf", ".tmp.html")
    with open(tmp, "w") as f:
        f.write(html)

    # Generate PDF with weasyprint
    os.system(f'weasyprint "{tmp}" "{output_path}" 2>/dev/null')
    os.remove(tmp)

    if os.path.exists(output_path):
        size = os.path.getsize(output_path)
        print(f"PDF erstellt: {output_path} ({size} bytes)")
        return output_path
    else:
        print("FEHLER: PDF konnte nicht erstellt werden")
        return None


if __name__ == "__main__":
    # Test
    test_content = """
    <h2>Zusammenfassung</h2>
    <p>Dies ist ein Test-PDF mit dem Aria-Template.</p>

    <div class="highlight">
        <strong>Wichtig:</strong> Das Template wird von Aria automatisch mit Recherche-Ergebnissen gefüllt.
    </div>

    <h2>Details</h2>
    <ul>
        <li>Professionelles Branding</li>
        <li>Automatisch generiert</li>
        <li>DSGVO-konform</li>
    </ul>
    """

    generate_pdf(
        title="Test-Recherche",
        subtitle="Automatisch generierter Report von Aria",
        content_html=test_content,
        output_path="/root/test-recherche.pdf",
        badge="Test"
    )
