115 lines
3.1 KiB
Python
115 lines
3.1 KiB
Python
#!/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}")
|