# diag_asesores.py  —  Valores UNICOS de la columna 'asesor' en cartera_junta.
import os, requests
from collections import Counter
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 = os.getenv("SUPABASE_TABLA_CARTERA", "cartera_junta")
h = {"apikey": key, "Authorization": f"Bearer {key}"}

# traer solo la columna asesor (paginado)
cont = Counter()
desde, paso = 0, 1000
while True:
    r = requests.get(f"{url}/rest/v1/{t}", params={"select": "asesor", "offset": str(desde), "limit": str(paso)},
                     headers=h, timeout=60)
    r.raise_for_status()
    data = r.json()
    if not data:
        break
    for row in data:
        cont[(row.get("asesor") or "").strip()] += 1
    if len(data) < paso:
        break
    desde += paso

print(f"Valores distintos de 'asesor' en cartera_junta: {len(cont)}\n")
for val, n in cont.most_common():
    print(f"   {n:>6}   {val or '(vacio)'}")
