ajout du control denvoi de message et interface up
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script de démonstration du système de sous-titres
|
||||
"""
|
||||
|
||||
import os
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
def demo_subtitle_system():
|
||||
"""Démonstration du système de sous-titres"""
|
||||
print("🎬 Démonstration du système de sous-titres")
|
||||
print("=" * 60)
|
||||
|
||||
# 1. Vérifier les fichiers audio
|
||||
record_dir = "record"
|
||||
if not os.path.exists(record_dir):
|
||||
print(f"❌ Dossier record non trouvé: {record_dir}")
|
||||
return False
|
||||
|
||||
audio_files = [f for f in os.listdir(record_dir) if f.endswith('.mp3')]
|
||||
if not audio_files:
|
||||
print(f"❌ Aucun fichier audio trouvé dans {record_dir}")
|
||||
return False
|
||||
|
||||
print(f"✅ {len(audio_files)} fichiers audio trouvés")
|
||||
print(f"📁 Premier fichier: {audio_files[0]}")
|
||||
print(f"📁 Dernier fichier: {audio_files[-1]}")
|
||||
|
||||
# 2. Vérifier le stockage
|
||||
storage_dir = "storage"
|
||||
subtitle_file = os.path.join(storage_dir, "subtitle_data.json")
|
||||
|
||||
if os.path.exists(subtitle_file):
|
||||
try:
|
||||
with open(subtitle_file, 'r', encoding='utf-8') as f:
|
||||
subtitle_data = json.load(f)
|
||||
print(f"✅ Stockage existant avec {len(subtitle_data)} sous-titre(s)")
|
||||
|
||||
if subtitle_data:
|
||||
print("📝 Derniers sous-titres:")
|
||||
sorted_keys = sorted(subtitle_data.keys())
|
||||
for key in sorted_keys[-3:]: # Afficher les 3 derniers
|
||||
print(f" {key}: {subtitle_data[key]}")
|
||||
except Exception as e:
|
||||
print(f"⚠️ Erreur lecture stockage: {e}")
|
||||
else:
|
||||
print("📝 Aucun stockage existant")
|
||||
|
||||
# 3. Simuler le traitement manuel
|
||||
print("\n🔧 Simulation du traitement manuel:")
|
||||
print(" 1. Détection des fichiers audio ✅")
|
||||
print(" 2. Lancement de Whisper sur chaque fichier")
|
||||
print(" 3. Nettoyage et suppression des répétitions")
|
||||
print(" 4. Sauvegarde dans le stockage")
|
||||
print(" 5. Nettoyage des fichiers temporaires")
|
||||
|
||||
# 4. Créer un exemple de sous-titre
|
||||
example_subtitle = {
|
||||
"03:52:30": "Voici un exemple de sous-titre généré",
|
||||
"03:52:35": "Le système fonctionne correctement",
|
||||
"03:52:40": "Whisper traite les fichiers audio"
|
||||
}
|
||||
|
||||
# Sauvegarder l'exemple
|
||||
if not os.path.exists(storage_dir):
|
||||
os.makedirs(storage_dir)
|
||||
|
||||
try:
|
||||
with open(subtitle_file, 'w', encoding='utf-8') as f:
|
||||
json.dump(example_subtitle, f, indent=4, ensure_ascii=False)
|
||||
print("✅ Exemple de sous-titres sauvegardé")
|
||||
except Exception as e:
|
||||
print(f"❌ Erreur sauvegarde: {e}")
|
||||
|
||||
# 5. Afficher les instructions pour l'interface web
|
||||
print("\n🌐 Instructions pour l'interface web:")
|
||||
print(" 1. Ouvrir http://localhost:5000")
|
||||
print(" 2. Aller dans l'onglet 'Sous-titres'")
|
||||
print(" 3. Cliquer sur 'Traitement Manuel'")
|
||||
print(" 4. Attendre le traitement des fichiers audio")
|
||||
print(" 5. Voir les sous-titres générés")
|
||||
|
||||
return True
|
||||
|
||||
def test_whisper_availability():
|
||||
"""Tester la disponibilité de Whisper"""
|
||||
print("\n🔍 Test de Whisper:")
|
||||
|
||||
try:
|
||||
import subprocess
|
||||
result = subprocess.run(['whisper', '--help'], capture_output=True, text=True, timeout=10)
|
||||
if result.returncode == 0:
|
||||
print("✅ Whisper est disponible et fonctionnel")
|
||||
return True
|
||||
else:
|
||||
print("❌ Whisper ne répond pas correctement")
|
||||
return False
|
||||
except FileNotFoundError:
|
||||
print("❌ Whisper n'est pas installé")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"❌ Erreur test Whisper: {e}")
|
||||
return False
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("🚀 Démonstration du système de sous-titres")
|
||||
print("=" * 60)
|
||||
|
||||
# Test 1: Système de base
|
||||
system_ok = demo_subtitle_system()
|
||||
|
||||
# Test 2: Whisper
|
||||
whisper_ok = test_whisper_availability()
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
if system_ok and whisper_ok:
|
||||
print("✅ Système prêt !")
|
||||
print("🎉 Vous pouvez maintenant utiliser le bouton 'Traitement Manuel'")
|
||||
print(" dans l'interface web pour créer des sous-titres.")
|
||||
else:
|
||||
print("❌ Problèmes détectés")
|
||||
if not system_ok:
|
||||
print(" - Problème avec le système de base")
|
||||
if not whisper_ok:
|
||||
print(" - Problème avec Whisper")
|
||||
Reference in New Issue
Block a user