#!/usr/bin/env python3
"""
Script pour vider l'historique des vidéos traitées du SCAM Bot
Usage: python clear_history.py [--creator PSEUDO] [--confirm]
"""

import argparse
import sys
import os
from modules.database import Database

def main():
    parser = argparse.ArgumentParser(description="Vide l'historique des vidéos traitées du SCAM Bot")
    parser.add_argument("--creator", help="Pseudo du créateur (vide uniquement l'historique de ce créateur)")
    parser.add_argument("--confirm", action="store_true", help="Confirmer la suppression sans demander")
    parser.add_argument("--list-creators", action="store_true", help="Lister les créateurs disponibles")
    
    args = parser.parse_args()
    
    # Initialiser la base de données
    db = Database()
    
    # Si on veut juste lister les créateurs
    if args.list_creators:
        creators = db.list_creators()
        if not creators:
            print("📝 Aucun créateur enregistré.")
            return
        
        print("👥 Créateurs disponibles :")
        for creator in creators:
            creator_id, pseudo, platform, profile_url, discord_channel_id, created_at = creator
            print(f"  • {pseudo} ({platform}) - ID: {creator_id}")
        return
    
    # Demander confirmation si pas en mode auto
    if not args.confirm:
        if args.creator:
            response = input(f"⚠️  Êtes-vous sûr de vouloir vider l'historique du créateur '{args.creator}' ? (oui/non): ")
        else:
            response = input("⚠️  Êtes-vous sûr de vouloir vider TOUT l'historique des vidéos ? (oui/non): ")
        
        if response.lower() not in ['oui', 'o', 'yes', 'y']:
            print("❌ Opération annulée.")
            return
    
    try:
        if args.creator:
            # Vider l'historique d'un créateur spécifique
            creator_data = db.get_creator_by_pseudo(args.creator)
            if not creator_data:
                print(f"❌ Créateur '{args.creator}' non trouvé.")
                return
            
            creator_id = creator_data[0]
            count = db.clear_processed_videos_by_creator(creator_id)
            
            if count >= 0:
                print(f"✅ {count} vidéo(s) supprimée(s) pour le créateur '{args.creator}'")
            else:
                print("❌ Erreur lors de la suppression.")
        else:
            # Vider tout l'historique
            count = db.clear_all_processed_videos()
            
            if count >= 0:
                print(f"✅ {count} vidéo(s) supprimée(s) de l'historique complet")
            else:
                print("❌ Erreur lors de la suppression.")
                
    except Exception as e:
        print(f"❌ Erreur: {e}")
        sys.exit(1)

if __name__ == "__main__":
    main()