# ver_campanias.py — Muestra en pantalla TODA la tabla campanias de Supabase. # Ejecutar dentro de backend/: python ver_campanias.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", "") TABLA = os.getenv("SUPABASE_TABLA_CAMPANIAS", "campanias") HEAD = {"apikey": KEY, "Authorization": f"Bearer {KEY}"} assert URL and KEY, "Falta CARTERA_URL / CARTERA_KEY en .env" def traer_todo(): filas, paso, desde = [], 1000, 0 while True: hdr = dict(HEAD) hdr["Range-Unit"] = "items" hdr["Range"] = f"{desde}-{desde + paso - 1}" r = requests.get(f"{URL}/rest/v1/{TABLA}", params={"select": "*", "order": "codigo"}, headers=hdr, timeout=60) r.raise_for_status() data = r.json() if not data: break filas.extend(data) desde += len(data) if len(data) < paso: break return filas filas = traer_todo() print(f"\nTotal campanias: {len(filas)}\n") if not filas: print("Sin datos. Revisa CARTERA_URL / CARTERA_KEY en .env") raise SystemExit # columnas cols = ["frase_busqueda", "cargo", "codigo", "sede", "dia", "origen", "fecha_inicio", "fecha_fin"] # por si hay columnas extra for f in filas: for k in f.keys(): if k not in cols and k != "id": cols.append(k) # imprime cada campania en pantalla for i, f in enumerate(filas, 1): partes = [] for c in cols: v = f.get(c, "") v = "" if v is None else str(v) partes.append(f"{c}={v}") print(f"{i:3}. " + " | ".join(partes))