#!/usr/bin/env python3 """ Startup script for Aliah-Plus Handles module imports and starts the FastAPI server """ import sys import os from pathlib import Path # Asegurar que el directorio actual está en el path current_dir = Path(__file__).parent.absolute() sys.path.insert(0, str(current_dir)) sys.path.insert(0, str(current_dir / "src")) # Verificar que los módulos existen print("=" * 60) print("Aliah-Plus Startup") print("=" * 60) print("\n[1/4] Checking Python path...") print(f"Current directory: {current_dir}") print(f"Python path includes: {current_dir in [Path(p) for p in sys.path]}") print("\n[2/4] Checking source files...") required_files = [ "app.py", "src/__init__.py", "src/face_processor.py", "src/embedding_engine.py", "src/comparator.py", "src/ocr_extractor.py", "src/cross_referencer.py", "src/vector_db.py", "src/scrapers/__init__.py", "src/scrapers/stealth_engine.py", ] missing_files = [] for file in required_files: file_path = current_dir / file if file_path.exists(): print(f" ✓ {file}") else: print(f" ✗ {file} (MISSING)") missing_files.append(file) if missing_files: print(f"\n❌ Error: Missing {len(missing_files)} required files") sys.exit(1) print("\n[3/4] Testing imports...") try: from src.face_processor import FaceProcessor print(" ✓ FaceProcessor") except ImportError as e: print(f" ✗ FaceProcessor: {e}") try: from src.embedding_engine import EmbeddingEngine print(" ✓ EmbeddingEngine") except ImportError as e: print(f" ✗ EmbeddingEngine: {e}") try: from src.comparator import FaceComparator print(" ✓ FaceComparator") except ImportError as e: print(f" ✗ FaceComparator: {e}") try: from src.ocr_extractor import OCRExtractor print(" ✓ OCRExtractor") except ImportError as e: print(f" ✗ OCRExtractor: {e}") try: from src.cross_referencer import CrossReferencer print(" ✓ CrossReferencer") except ImportError as e: print(f" ✗ CrossReferencer: {e}") try: from src.vector_db import VectorDatabase print(" ✓ VectorDatabase") except ImportError as e: print(f" ✗ VectorDatabase: {e}") try: from src.scrapers.stealth_engine import StealthSearch print(" ✓ StealthSearch") except ImportError as e: print(f" ✗ StealthSearch: {e}") print("\n[4/4] Starting FastAPI server...") print("=" * 60) # Importar y ejecutar la aplicación if __name__ == "__main__": import uvicorn from app import app uvicorn.run( app, host="0.0.0.0", port=int(os.environ.get("PORT", 7860)), log_level="info" )