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