"""PROTOTYP — wegwerfen. Variante 3 mit realistischem Logo: gen3s (Aufkleber mit Wandstruktur).
Gleiche Umfärbung wie bilder3.py."""
import json, os, re, time
import numpy as np
from PIL import Image
from bilder import ANSICHTEN, HIER
from bilder2 import vorlage
from editor_daten import FESTGESCHRIEBEN as fest, ev_logo_entfernen
from einfaerben import multiplizieren, nachschaerfen
from logo_real import logo_roh
from platzierung import logo_setzen, umfaerben


if __name__ == "__main__":
    ergebnisse = json.load(open(os.path.join(HIER, "ergebnis.json")))
    slugs = json.load(open(os.path.join(HIER, "bilder.json")))
    aus = {"gen3s": {}}
    start = time.time()
    for name, r in ergebnisse.items():
        slug = re.sub(r"[^a-z0-9]+", "-", name.lower()).strip("-")
        if slug not in slugs:
            continue
        logo, eigener_grund = logo_roh(os.path.join(HIER, "gen", slug, "logo.png"))
        for ordner in aus:
            os.makedirs(os.path.join(HIER, ordner, slug), exist_ok=True)
        for datei, _, seite in ANSICHTEN:
            for ordner in aus:
                stil = "aufkleber"
                bild = logo_setzen(umfaerben(datei, seite, r["farbe"]), datei, seite, logo, stil, eigener_grund)
                ziel = os.path.join(HIER, ordner, slug, datei + ".png")
                bild.save(ziel)
                aus[ordner].setdefault(slug, {})[datei] = {"pfad": ziel}
    for ordner, daten in aus.items():
        json.dump(daten, open(os.path.join(HIER, f"bilder-{ordner}.json"), "w"), indent=2)
    print(f"{sum(len(v) for d in aus.values() for v in d.values())} Bilder in {time.time() - start:.1f} s")
