AutoBackups/test_everything3_corrected.py

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}")