Files
dashboard-leads/backend/borrar_branding.py
2026-08-18 11:48:08 -05:00

45 lines
1.7 KiB
Python

# 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'.")