# borrar_branding.py
# Pone en BLANCO el campo 'programa' de todos los conjuntos que tienen BRANDING
# en la tabla conjunto_sede_programa de Supabase. La SEDE se conserva.
# Ejecutar en backend/:  python borrar_branding.py
import os, requests
from dotenv import load_dotenv
load_dotenv()

URL = os.getenv("CARTERA_URL") or os.getenv("SUPABASE_PAUTA_URL", "")
KEY = os.getenv("CARTERA_KEY") or os.getenv("SUPABASE_PAUTA_KEY", "")
T = "conjunto_sede_programa"
H = {"apikey": KEY, "Authorization": f"Bearer {KEY}"}
assert URL and KEY, "Falta CARTERA_URL/KEY en .env"

# 1) traer todos y ver cuales tienen BRANDING
r = requests.get(f"{URL}/rest/v1/{T}", params={"select": "*"}, headers=H, timeout=30)
r.raise_for_status()
filas = r.json()
brand = [f for f in filas if "BRANDING" in str(f.get("programa") or "").upper()]

print(f"\nTotal filas: {len(filas)}")
print(f"Con BRANDING en programa: {len(brand)}")
for f in brand[:60]:
    print(f"   {f.get('conjunto'):45} sede={f.get('sede'):10} prog={f.get('programa')}")

if not brand:
    print("\nNo hay nada con BRANDING. Listo.")
    raise SystemExit

# 2) actualizar programa='' donde el programa contenga BRANDING
hp = dict(H); hp["Content-Type"] = "application/json"; hp["Prefer"] = "return=minimal"
ok = 0
for f in brand:
    co = f.get("conjunto")
    rr = requests.patch(f"{URL}/rest/v1/{T}",
                        params={"conjunto": f"eq.{co}"},
                        headers=hp, json={"programa": ""}, timeout=30)
    if rr.ok:
        ok += 1
    else:
        print(f"   ERROR {co}: {rr.status_code} {rr.text[:80]}")

print(f"\nOK -> {ok} conjuntos actualizados (programa BRANDING borrado, sede conservada).")
print("Ahora en el dashboard: reinicia backend o dale 'Actualizar'.")
