#!/usr/bin/env python3
"""
Script de test pour tester la commande /declare avec une vraie URL
"""

import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

from modules.scraper import VideoScraper
from modules.llm_processor import LLMProcessor
from modules.database import Database

def test_declare():
    """Test de la commande /declare avec une vraie URL"""
    print("🧪 Test de la commande /declare...")
    
    # URL de test (Instagram)
    test_url = "https://www.instagram.com/p/DMpc37-tJdF/"
    
    print(f"🔍 Test avec l'URL: {test_url}")
    
    # Initialiser les modules
    scraper = VideoScraper()
    llm = LLMProcessor()
    db = Database()
    
    try:
        # 1. Scraper la vidéo
        print("📡 Scraping de la vidéo...")
        video_data = scraper.scrape_video(test_url)
        
        print(f"✅ Données récupérées:")
        print(f"   URL: {video_data['url']}")
        print(f"   Description: {video_data['description'][:100]}...")
        print(f"   Durée: {video_data['duration']}")
        print(f"   Plateforme: {video_data['platform']}")
        
        # 2. Générer le formulaire SCAM
        print("\n🤖 Génération du formulaire SCAM...")
        result = llm.process_video(video_data)
        
        if result['success']:
            print(f"✅ Formulaire généré:")
            print(f"   Jeu détecté: {result['game_name']}")
            print(f"   Plateforme: {result['platform']}")
            print(f"   Données: {len(result['form_data'])} caractères")
            print(f"\n📋 Formulaire SCAM:")
            print("=" * 50)
            print(result['form_data'])
            print("=" * 50)
        else:
            print(f"❌ Erreur génération: {result['error']}")
        
        # 3. Vérifier la base de données
        print(f"\n💾 Vérification base de données:")
        creators = db.list_creators()
        print(f"   Créateurs en base: {len(creators)}")
        
        stats = db.get_stats()
        print(f"   Statistiques: {stats['creators_count']} créateurs, {stats['videos_count']} vidéos")
        
        print("\n✅ Test terminé avec succès !")
        
    except Exception as e:
        print(f"❌ Erreur lors du test: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    test_declare() 