import os
from video_manager import transcribe_audio
from llm_analyzer import analyze_transcript_with_deepseek
from video_editor import create_clips

def process_local_video(video_path):
    print(f"\n{'='*50}")
    print(f" STARTE VERARBEITUNG: {os.path.basename(video_path)}")
    print(f"{'='*50}")
    
    # 1. Transkription mit Whisper
    print("\n[Schritt 1] Generiere Transkript (Whisper)...")
    transcript = transcribe_audio(video_path)
    
    if not transcript:
        print("\n[Fehler] Transkription fehlgeschlagen. Abbruch.")
        return
        
    print(f"\n[Erfolg] Transkript generiert! (Länge: {len(transcript)} Zeichen)")
    
    # 2. Analyse mit DeepSeek
    print("\n[Schritt 2] Analysiere virale Momente (DeepSeek 3.2 685B)...")
    llm_result = analyze_transcript_with_deepseek(transcript)
    
    if not llm_result:
        print("\n[Fehler] KI-Analyse lieferte kein Ergebnis. Abbruch.")
        return
        
    # 3. Videoschnitt mit MoviePy
    print("\n[Schritt 3] Schneide Video anhand der KI-Timecodes...")
    create_clips(video_path, llm_result)
    
    print(f"\n{'='*50}")
    print(" VERARBEITUNG ABGESCHLOSSEN")
    print(f"{'='*50}\n")

if __name__ == "__main__":
    input_folder = "input_videos"
    
    if not os.path.exists(input_folder):
        os.makedirs(input_folder)
        print(f"\nOrdner '{input_folder}' wurde erstellt!")
        print(f"Bitte lege hier dein heruntergeladenes Vyro-MP4-Video ab und starte das Skript neu.")
    else:
        videos = [f for f in os.listdir(input_folder) if f.endswith(".mp4")]
        
        if videos:
            target_video = os.path.join(input_folder, videos[0])
            process_local_video(target_video)
        else:
            print(f"\nKein Video gefunden!")
            print(f"Bitte kopiere eine .mp4 Datei in den Ordner: '{os.path.abspath(input_folder)}'")
