#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Script principal pour analyser la collection des lettres de Jules Berton. Ce script orchestre l'ensemble du processus d'analyse et de génération de documentation. Auteur: Assistant IA Date: Septembre 2025 """ import subprocess import sys from pathlib import Path def run_script(script_name, description): """ Exécute un script Python et affiche les résultats. Args: script_name (str): Nom du script à exécuter description (str): Description de l'action """ print(f"\n🔄 {description}") print("=" * 60) try: # Utiliser l'interpréteur Python de l'environnement virtuel python_path = Path(__file__).parent / ".venv" / "bin" / "python" script_path = Path(__file__).parent / script_name result = subprocess.run( [str(python_path), str(script_path)], capture_output=True, text=True, cwd=Path(__file__).parent ) if result.returncode == 0: print(result.stdout) print(f"✅ {description} terminé avec succès") else: print(f"❌ Erreur lors de l'exécution:") print(result.stderr) return False except Exception as e: print(f"❌ Erreur: {e}") return False return True def main(): """Fonction principale qui orchestre l'analyse complète.""" print("📚 ANALYSE COMPLÈTE DE LA COLLECTION JULES BERTON") print("=" * 70) print("Ce script va analyser le fichier Excel et générer une documentation complète.") print() base_path = Path(__file__).parent excel_file = base_path / "Jules Berton - lettres, dates et lieux.xlsx" # Vérifier la présence du fichier Excel if not excel_file.exists(): print(f"❌ Le fichier Excel '{excel_file.name}' n'a pas été trouvé.") print(f" Assurez-vous qu'il soit présent dans le répertoire: {base_path}") return print(f"✓ Fichier Excel trouvé: {excel_file.name}") # Étape 1: Lecture des métadonnées Excel success = run_script( "read_excel_metadata.py", "ÉTAPE 1: Lecture et analyse du fichier Excel" ) if not success: print("❌ Impossible de continuer sans les métadonnées Excel.") return # Étape 2: Génération du README success = run_script( "generate_readme.py", "ÉTAPE 2: Génération du README.md avec métadonnées complètes" ) if not success: print("⚠️ Le README n'a pas pu être généré, mais les métadonnées sont disponibles.") # Résumé final print("\n📋 RÉSUMÉ DE L'ANALYSE") print("=" * 50) # Vérifier les fichiers générés json_file = base_path / "lettres_metadata.json" readme_file = base_path / "README.md" if json_file.exists(): print(f"✅ Métadonnées JSON: {json_file.name}") else: print(f"❌ Métadonnées JSON: Non trouvé") if readme_file.exists(): print(f"✅ Documentation: {readme_file.name}") else: print(f"❌ Documentation: Non trouvé") print("\n🔧 FICHIERS UTILITAIRES DISPONIBLES:") print("- read_excel_metadata.py : Analyse le fichier Excel") print("- generate_readme.py : Génère le README.md") print("- lettres_metadata.json : Métadonnées au format JSON") print("\n📖 UTILISATION:") print("1. Pour re-analyser le fichier Excel:") print(" python read_excel_metadata.py") print("\n2. Pour régénérer le README:") print(" python generate_readme.py") print("\n3. Pour une analyse complète:") print(" python main.py") print(f"\n✨ Analyse terminée! Consultez le fichier README.md pour la documentation complète.") if __name__ == "__main__": main()