#!/usr/bin/env python3 """ Test de Everything3 API Corregido Prueba el API corregido de Everything3 para encontrar los 9 proyectos S7P """ import os import sys import json import logging # Configurar logging logging.basicConfig( level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) logger = logging.getLogger(__name__) # Agregar src al path sys.path.insert(0, os.path.join(os.path.dirname(__file__), "src")) from utils.everything3_official_corrected_wrapper import ( create_everything3_official_searcher, ) def load_config(): """Cargar configuración""" try: with open("config.json", "r") as f: return json.load(f) except Exception as e: logger.error(f"Error cargando config: {e}") return None def test_everything3_corrected(): """Probar Everything3 API corregido""" print("🔍 Probando Everything3 API Corregido") print("=" * 50) # Cargar configuración config = load_config() if not config: print("❌ No se pudo cargar la configuración") return # Obtener ruta de DLL everything_config = config.get("everything_api", {}) dll_path = everything_config.get("dll_path") if not dll_path: print("❌ No se encontró ruta de DLL en configuración") return # Convertir a ruta absoluta if not os.path.isabs(dll_path): dll_path = os.path.abspath(dll_path) print(f"📁 DLL Path: {dll_path}") print(f"📁 DLL Exists: {os.path.exists(dll_path)}") # Crear searcher searcher = create_everything3_official_searcher(dll_path) if not searcher: print("❌ No se pudo crear searcher Everything3") return print("✅ Searcher creado exitosamente") # Diagnóstico diagnosis = searcher.get_everything_diagnosis() print("\n🔧 Diagnóstico:") for key, value in diagnosis.items(): print(f" {key}: {value}") # Obtener directorios de búsqueda search_directories = [ obs_dir["path"] for obs_dir in config.get("observation_directories", []) if obs_dir.get("enabled", True) ] print(f"\n📂 Directorios de búsqueda: {len(search_directories)}") for directory in search_directories: print(f" - {directory}") # Buscar archivos S7P print("\n🔍 Buscando archivos .s7p...") s7p_files = searcher.search_s7p_files(search_directories) print(f"\n📊 Resultados:") print(f" Archivos encontrados: {len(s7p_files)}") if s7p_files: print(" Archivos:") for i, file_path in enumerate(s7p_files, 1): print(f" {i}. {file_path}") else: print(" ❌ No se encontraron archivos .s7p") print( f"\n📈 ¿Se encontraron los 9 proyectos esperados? {'✅ SÍ' if len(s7p_files) == 9 else '❌ NO'}" ) return s7p_files if __name__ == "__main__": try: result = test_everything3_corrected() print( f"\n🏁 Prueba completada. Archivos encontrados: {len(result) if result else 0}" ) except Exception as e: logger.error(f"Error en prueba: {e}") print(f"❌ Error en prueba: {e}")