wifi-etl/debug_wifeed.py

54 lines
1.7 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python3
"""Debug WiFeed transform"""
import requests
import json
from app.core.config import WIFEED_CLIENT_ID, WIFEED_CLIENT_SECRET, WIFEED_BASE_URL
from app.extractor.wifeed import get_access_token
from app.transform.merge_mac import transform_wifeed
print("Autenticando WiFeed...")
try:
token = get_access_token(WIFEED_CLIENT_ID, WIFEED_CLIENT_SECRET)
print(f"Token obtido: {token[:50]}...")
except Exception as e:
print(f"Erro ao autenticar: {e}")
exit(1)
print("\nExtraindo dados de hoje...")
url = f"{WIFEED_BASE_URL.rstrip('/')}/core/openapi/v1/report/record"
params = {"page": 0, "date": "2026-04-22"}
headers = {"Authorization": f"Bearer {token}"}
try:
resp = requests.get(url, headers=headers, params=params, timeout=30, verify=False)
resp.raise_for_status()
records = resp.json() if isinstance(resp.json(), list) else resp.json().get("records", [])
print(f"Extractos {len(records)} registros")
except Exception as e:
print(f"Erro ao extrair: {e}")
exit(1)
if records:
print("\n=" * 80)
print("PRIMEIRO REGISTRO BRUTO:")
print("=" * 80)
print(json.dumps(records[0], indent=2))
print("\n" + "=" * 80)
print("APLICANDO TRANSFORM:")
print("=" * 80)
transformed = transform_wifeed(records[0])
print(json.dumps(transformed, indent=2, default=str))
if transformed.get('mac_address'):
print(f"\n✓ MAC extraído: {transformed['mac_address']}")
else:
print(f"\n✗ MAC VAZIO - problema na extração!")
if transformed.get('name'):
print(f"✓ Name extraído: {transformed['name']}")
else:
print(f"✗ Name VAZIO - problema na extração!")
else:
print("Nenhum registro extraído!")