#!/usr/bin/env python3
"""
Demo - Google Alerts Reporter
Gera relatório de exemplo SEM credenciais (para testes)
"""

import json
from datetime import datetime
from relatorio_alerts import generate_html_report

def create_demo_data():
    """Cria dados de exemplo para demonstração."""

    # Alertas fictícios
    demo_alerts = [
        {
            'subject': 'Alerta do Google - Banco Master',
            'date': 'Mon, 28 Oct 2024 08:30:00 -0300',
            'items': [
                {
                    'title': 'Banco Master enfrenta avalanche de reclamações no Reclame Aqui',
                    'source': 'Portal de Notícias',
                    'link': 'https://example.com/noticia1',
                    'date': 'Mon, 28 Oct 2024 08:30:00',
                    'sentiment': 'neg',
                    'reason': 'Menção direta a reclamações e problemas'
                },
                {
                    'title': 'Clientes relatam dificuldades para acessar contas no Banco Master',
                    'source': 'G1 Economia',
                    'link': 'https://example.com/noticia2',
                    'date': 'Mon, 28 Oct 2024 09:15:00',
                    'sentiment': 'neg',
                    'reason': 'Problemas técnicos afetando clientes'
                },
                {
                    'title': 'Banco Master anuncia expansão para 5 novos estados',
                    'source': 'Valor Econômico',
                    'link': 'https://example.com/noticia3',
                    'date': 'Mon, 28 Oct 2024 10:00:00',
                    'sentiment': 'pos',
                    'reason': 'Crescimento e expansão positiva'
                },
                {
                    'title': 'Processos contra Banco Master crescem 40% em 2024',
                    'source': 'Estadão',
                    'link': 'https://example.com/noticia4',
                    'date': 'Mon, 28 Oct 2024 11:20:00',
                    'sentiment': 'neg',
                    'reason': 'Aumento significativo de processos legais'
                },
                {
                    'title': 'Banco Master registra lucro recorde no 3º trimestre',
                    'source': 'InfoMoney',
                    'link': 'https://example.com/noticia5',
                    'date': 'Mon, 28 Oct 2024 14:00:00',
                    'sentiment': 'neu',
                    'reason': 'Informação financeira neutra'
                },
            ]
        },
        {
            'subject': 'Alerta do Google - Banco Master',
            'date': 'Sun, 27 Oct 2024 08:30:00 -0300',
            'items': [
                {
                    'title': 'Consumidores denunciam golpes usando nome do Banco Master',
                    'source': 'UOL Notícias',
                    'link': 'https://example.com/noticia6',
                    'date': 'Sun, 27 Oct 2024 08:30:00',
                    'sentiment': 'neg',
                    'reason': 'Associação com fraudes prejudica imagem'
                },
                {
                    'title': 'Banco Master lança novo app com recursos de Open Finance',
                    'source': 'TechCrunch Brasil',
                    'link': 'https://example.com/noticia7',
                    'date': 'Sun, 27 Oct 2024 10:00:00',
                    'sentiment': 'pos',
                    'reason': 'Inovação tecnológica positiva'
                },
                {
                    'title': 'Taxas do Banco Master são as mais altas do mercado, diz Procon',
                    'source': 'Folha de S.Paulo',
                    'link': 'https://example.com/noticia8',
                    'date': 'Sun, 27 Oct 2024 11:45:00',
                    'sentiment': 'neg',
                    'reason': 'Crítica de órgão de defesa do consumidor'
                },
                {
                    'title': 'Fila de espera no suporte do Banco Master chega a 2 horas',
                    'source': 'Metrópoles',
                    'link': 'https://example.com/noticia9',
                    'date': 'Sun, 27 Oct 2024 15:30:00',
                    'sentiment': 'neg',
                    'reason': 'Problema de atendimento ao cliente'
                },
                {
                    'title': 'Banco Central notifica Banco Master por irregularidades',
                    'source': 'Agência Brasil',
                    'link': 'https://example.com/noticia10',
                    'date': 'Sun, 27 Oct 2024 17:00:00',
                    'sentiment': 'neg',
                    'reason': 'Notificação regulatória grave'
                },
            ]
        }
    ]

    # Contagem de sentimentos
    all_items = [item for alert in demo_alerts for item in alert['items']]
    sentiments = {'neg': 0, 'pos': 0, 'neu': 0}

    for item in all_items:
        sentiments[item['sentiment']] += 1

    return demo_alerts, sentiments, len(all_items), all_items

def main():
    print("""
╔════════════════════════════════════════════╗
║   DEMO - Google Alerts Reporter           ║
║   Gerando relatório de exemplo...         ║
╚════════════════════════════════════════════╝
""")

    # Criar dados demo
    alerts, sentiments, total, analyzed_items = create_demo_data()

    # Gerar relatório
    output_file = generate_html_report(alerts, sentiments, total, analyzed_items)

    print(f"""
✓ Relatório DEMO gerado com sucesso!

📊 Estatísticas:
  - Total de alertas: {total}
  - Negativos: {sentiments['neg']} ({sentiments['neg']/total*100:.1f}%)
  - Positivos: {sentiments['pos']} ({sentiments['pos']/total*100:.1f}%)
  - Neutros: {sentiments['neu']} ({sentiments['neu']/total*100:.1f}%)

📄 Arquivo: {output_file}

💡 Este é um exemplo fictício para demonstração.
   Para dados reais, execute: python3 relatorio_alerts.py
""")

    # Auto-open
    import subprocess
    try:
        subprocess.run(['open', output_file], check=True)
        print("🌐 Abrindo no navegador...")
    except:
        print(f"⚠️  Abra manualmente: {output_file}")

if __name__ == '__main__':
    main()
