#!/usr/bin/env python3
"""
Script om te verifiëren of de uitgebreide presentaties aan de minimum slide eisen voldoen
"""

import os
from pptx import Presentation

# Definitie van presentaties en hun minimum slide eisen
PRESENTATIONS = {
    'PM_EL_T15_Asbestbewustzijn_Presentatie_v1.1.pptx': {'current': 30, 'min': 35},
    'PM_EL_T16_Werken_op_Hoogte_Presentatie_v1.1.pptx': {'current': 30, 'min': 35},
    'PM_EL_T17_Besloten_Ruimten_Presentatie_v1.1.pptx': {'current': 29, 'min': 40},
    'PM_EL_T18_Loodsbewustzijn_Presentatie_v1.1.pptx': {'current': 24, 'min': 35},
    'PM_EL_T19_Hitte_Koude_Stress_Presentatie_v1.1.pptx': {'current': 29, 'min': 35},
    'PM_EL_T20_Arbowetgeving_Presentatie_v1.1.pptx': {'current': 24, 'min': 35},
    'PM_EL_T21_Intro_Veiligheidsmanagement_Presentatie_v1.1.pptx': {'current': 30, 'min': 35},
}

def count_slides_in_presentation(file_path):
    """Tel het aantal slides in een PowerPoint presentatie"""
    try:
        prs = Presentation(file_path)
        return len(prs.slides)
    except Exception as e:
        print(f"Fout bij lezen van {file_path}: {e}")
        return None

def main():
    """Hoofd functie voor verificatie"""
    base_path = "/root/projects/jg/2026-PM-eLearning/deliverables"
    
    print("=== Verificatie Uitgebreide Presentaties ===\n")
    
    all_ok = True
    
    for filename, slide_info in PRESENTATIONS.items():
        file_path = os.path.join(base_path, filename)
        actual_slides = count_slides_in_presentation(file_path)
        
        if actual_slides is None:
            print(f"{filename}: FOUT - Kon niet lezen")
            all_ok = False
            continue
        
        min_required = slide_info['min']
        status = "✅ OK" if actual_slides >= min_required else "❌ TE WEINIG"
        
        if actual_slides < min_required:
            all_ok = False
        
        print(f"{filename}")
        print(f"  Verwacht minimaal: {min_required} slides")
        print(f"  Werkelijk aantal: {actual_slides} slides")
        print(f"  Status: {status}")
        print(f"  Verschil: {actual_slides - slide_info['current']} slides toegevoegd\n")
    
    if all_ok:
        print("🎉 Alle presentaties voldoen aan de minimum slide eisen!")
    else:
        print("⚠️  Sommige presentaties voldoen niet aan de eisen.")
    
    return all_ok

if __name__ == "__main__":
    main()