#!/usr/bin/env python3
"""
Test du nouveau système de pages SCAM
"""

import asyncio
import logging
from modules.scraper import VideoScraper
from modules.llm_processor import LLMProcessor

# Configuration du logging
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)

async def test_pages_system():
    """Test du système de pages"""
    
    # URL de test
    test_url = "https://www.instagram.com/p/DLZcth3N5WD/"
    
    print(f"🔍 Test système de pages pour: {test_url}")
    print("=" * 60)
    
    # 1. Scraper
    print("\n1️⃣ Scraping...")
    scraper = VideoScraper()
    video_data = scraper.scrape_video(test_url)
    
    print(f"✅ Données scrapées:")
    for key, value in video_data.items():
        print(f"   {key}: {str(value)[:100]}...")
    
    # 2. LLM Processor avec pages
    print("\n2️⃣ Génération formulaire avec pages...")
    llm = LLMProcessor()
    
    # Générer le prompt complet
    prompt = llm.generate_scam_prompt(video_data)
    print(f"✅ Prompt généré (extrait):")
    print(prompt[:300] + "...")
    
    # Test du parser de pages
    print("\n3️⃣ Test du parser de pages...")
    
    # Simuler une réponse avec pages
    mock_response = """
**PAGE 1 | L'œuvre**
- **Titre de l'œuvre :** Découverte : Goblin Cleanup
- **Résumé :** Test résumé
- **Lien visionnage :** https://test.com
- **Durée de l'œuvre :** 00:01:30
- **Date de publication :** 27/06/2025
- **Genre de l'œuvre :** Reportage

**PAGE 2 | Les diffusions**
- **Type de diffusion :** Internet
- **Nom du site internet :** INSTAGRAM
- **URL (hors TV de rattrapage) :** https://test.com
- **Date de mise en ligne :** 27/06/2025
- **Durée de la diffusion :** 00:01:30

**PAGE 5 | Thématiques et mots-clés**
- **Thématiques choisies :** Découverte, Culture
- **Mots-clés :** jeu, coopératif, goblin, nettoyage, fun
"""
    
    pages = llm.parse_scam_pages(mock_response)
    
    print(f"✅ Pages parsées:")
    for page_key, content in pages.items():
        print(f"\n📄 {page_key.upper()}:")
        print(content[:200] + "..." if len(content) > 200 else content)

if __name__ == "__main__":
    print("🤖 Test du système de pages SCAM")
    print("=" * 60)
    
    try:
        asyncio.run(test_pages_system())
        print("\n✅ Test terminé avec succès!")
    except Exception as e:
        print(f"\n❌ ERREUR: {e}")
        import traceback
        traceback.print_exc()