"""PROTOTYP — wegwerfen. Einmalauftrag: alle zehn Containerbilder für eine Firma in einen Ordner.
Aufruf: python3 einmal.py <logo.png> <#farbe> <zielordner>"""
import os, sys
import numpy as np
from bilder import ANSICHTEN
from logo_real import logo_roh
from platzierung import flaeche, logo_setzen, umfaerben

NAMEN = {"absetzcontainer-grau-5cbm-seitenansicht-2": "absetzcontainer-5cbm-seite", "ev-absetzcontainer-5cbm-grau-3": "absetzcontainer-5cbm-front",
         "markdown-grauer-absetzcontainer-seitenansicht-2": "absetzcontainer-7cbm-seite", "absetzcontainer-grau-7cbm-frontansicht-3": "absetzcontainer-7cbm-front",
         "absetzcontainer-grau-10cbm-seitlich-2": "absetzcontainer-10cbm-seite", "grauer-10cbm-absetzcontainer-frontansicht-3": "absetzcontainer-10cbm-front",
         "ev-abrollcontainer-grau-12cbm-2": "abrollcontainer-12cbm-seite", "ev-abrollcontainer-12cbm-grau-3": "abrollcontainer-12cbm-front",
         "grauer-40cbm-abrollcontainer-seitenansicht-2": "abrollcontainer-36cbm-seite", "abrollcontainer-grau-40cbm-frontansicht-3": "abrollcontainer-36cbm-front"}

logo_pfad, farbe, ziel = sys.argv[1], sys.argv[2], os.path.expanduser(sys.argv[3])
os.makedirs(ziel, exist_ok=True)
logo, eigener_grund = logo_roh(logo_pfad)
print("eigener Grund:", eigener_grund)
for datei, _, seite in ANSICHTEN:
    basis = umfaerben(datei, seite, farbe)
    bild = logo_setzen(basis.copy(), datei, seite, logo, "aufkleber", eigener_grund)
    d = np.abs(np.array(bild).astype(int) - np.array(basis).astype(int)).max(-1) > 12
    ys, xs = np.where(d)
    fl = flaeche(datei)
    ok = (len(xs) > 0 and xs.min() >= fl["x"] - 4 and ys.min() >= fl["y"] - 4 and xs.max() + 1 <= fl["x"] + fl["w"] + 4 and ys.max() + 1 <= fl["y"] + fl["h"] + 4) if fl else len(xs) == 0
    bild.save(os.path.join(ziel, NAMEN[datei] + ".png"))
    print(f"{NAMEN[datei]:30s} {'ok' if ok else 'FEHLER Platzierung'}")
