Initial commit - dashboard leads
This commit is contained in:
55
backend/ver_campanias.py
Normal file
55
backend/ver_campanias.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# 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))
|
||||
Reference in New Issue
Block a user