#!/usr/bin/env python3
import json, re
from collections import Counter

d = json.load(open('/opt/mia/workspace/temp/borrello_clean.json'))

# Contagem estrutural
n_camp = len(d)
n_adset = 0
n_ad = 0
active_camps = []
paused_camps = []
for c in d:
    ase = c.get('adsets', {}).get('data', [])
    n_adset += len(ase)
    for a in ase:
        n_ad += len(a.get('ads', {}).get('data', []))
    (active_camps if c.get('effective_status') == 'ACTIVE' else paused_camps).append(c)

print("=== TOTAIS BRUTOS ===")
print(f"campanhas={n_camp}  adsets={n_adset}  ads={n_ad}")
print(f"ACTIVE={len(active_camps)}  PAUSED={len(paused_camps)}")

# Quantas campanhas PAUSED tem 0 adset (shells vazios / dead)
paused_com_adset = [c for c in paused_camps if c.get('adsets',{}).get('data')]
paused_vazia = [c for c in paused_camps if not c.get('adsets',{}).get('data')]
print(f"PAUSED com adset={len(paused_com_adset)}  PAUSED vazia(sem adset)={len(paused_vazia)}")

# ACTIVE names
print("\n=== CAMPANHAS ACTIVE ===")
for c in sorted(active_camps, key=lambda x:x['name']):
    ase=c.get('adsets',{}).get('data',[])
    print(f"[{c.get('objective','?')}] {c['name']}  | adsets={len(ase)} | id={c['id']}")
