#!/usr/bin/env python3 """ Diagnostic de la liste blanche """ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent / "geniusia2")) from core.config import get_config from core.logger import Logger from core.whitelist_manager import WhitelistManager def main(): print("\n" + "="*60) print(" 🔍 DIAGNOSTIC LISTE BLANCHE") print("="*60 + "\n") # Charger la config config = get_config() logger = Logger() print("📋 Configuration:") print(f" enforce_whitelist: {config['security'].get('enforce_whitelist')}") print(f" ask_before_new_window: {config['security'].get('ask_before_new_window')}") print() # CrĂ©er le whitelist manager whitelist_manager = WhitelistManager(logger=logger) print("đŸ›Ąïž Liste Blanche:") whitelist = whitelist_manager.get_whitelist() if whitelist: print(f" {len(whitelist)} fenĂȘtre(s) autorisĂ©e(s):") for window in whitelist: print(f" - {window}") else: print(" ❌ Liste vide (aucune fenĂȘtre autorisĂ©e)") print() # Tester quelques fenĂȘtres test_windows = [ "Kiro", "Firefox", "Chrome", "Terminal", "Code", "Unknown Window" ] print("đŸ§Ș Test de fenĂȘtres:") for window in test_windows: allowed = whitelist_manager.is_window_allowed(window) status = "✅ AutorisĂ©e" if allowed else "❌ BloquĂ©e" print(f" {window:20} : {status}") print() print("="*60) print(" 💡 SOLUTION") print("="*60 + "\n") if not whitelist: print("La liste blanche est vide !") print() print("Options :") print() print("1ïžâƒŁ Mode Permissif (RecommandĂ© pour les tests)") print(" - Dans l'app, le bouton 'Mode: Tout Autoriser' devrait ĂȘtre activĂ©") print(" - VĂ©rifie que enforce_whitelist = False dans la config") print() print("2ïžâƒŁ Ajouter des fenĂȘtres Ă  la liste blanche") print(" - Dans l'app, clique sur 'GĂ©rer la Liste Blanche'") print(" - Ajoute 'Kiro', 'Firefox', etc.") print() else: print("La liste blanche contient des fenĂȘtres.") print("Si tu veux observer d'autres fenĂȘtres :") print(" - Ajoute-les via le bouton 'GĂ©rer la Liste Blanche'") print(" - Ou active le 'Mode: Tout Autoriser'") print() if __name__ == "__main__": main()