"""
Import des données historiques dans PatternManager
===================================================

Ce script charge les trades existants depuis trade_history.json
et met à jour les statistiques du PatternManager.

Utilisation:
    python import_pattern_history.py
"""

import json
import os
from pattern_manager import get_pattern_manager


def import_history():
    """Importe les trades depuis trade_history.json"""
    
    history_file = 'trade_history.json'
    
    if not os.path.exists(history_file):
        print(f"❌ Fichier {history_file} non trouvé")
        return
    
    try:
        with open(history_file, 'r', encoding='utf-8') as f:
            trades = json.load(f)
        
        print(f"📂 Chargement de {len(trades)} trades depuis {history_file}...")
        
        pm = get_pattern_manager()
        
        # Statistiques d'import
        imported = 0
        skipped = 0
        pattern_counts = {}
        
        for trade in trades:
            pattern = trade.get('pattern', 'UNKNOWN')
            pnl_pct = trade.get('pnl_pct', 0.0)
            
            # Si le pattern est NONE ou vide, skip
            if not pattern or pattern == 'NONE':
                skipped += 1
                continue
            
            # Enregistrer le trade
            pm.record_trade(pattern, pnl_pct)
            imported += 1
            
            # Compter
            pattern_counts[pattern] = pattern_counts.get(pattern, 0) + 1
        
        print(f"\n✅ Import terminé:")
        print(f"   Trades importés: {imported}")
        print(f"   Trades skippés (NONE): {skipped}")
        print(f"\n📊 Répartition par pattern:")
        
        for pattern, count in sorted(pattern_counts.items(), key=lambda x: -x[1]):
            print(f"   {pattern:25s}: {count:3d} trades")
        
        # Sauvegarder
        pm.save_config()
        print(f"\n💾 Configuration sauvegardée dans pattern_config.json")
        
        # Afficher le rapport
        print(pm.get_performance_report())
        
    except Exception as e:
        print(f"❌ Erreur lors de l'import: {e}")
        import traceback
        traceback.print_exc()


if __name__ == "__main__":
    print("═" * 70)
    print("IMPORT HISTORIQUE DES PATTERNS")
    print("═" * 70)
    print()
    
    import_history()
