"""
Menú del Sistema - MVP v1.0

Implementa la interfaz de usuario del sistema
"""

import logging
from .commands import CommandProcessor

logger = logging.getLogger(__name__)

def create_menu(realtime_proc=None, stats_proc=None):
    """
    Crea y retorna un procesador de comandos configurado
    
    Args:
        realtime_proc: Procesador de tiempo real (opcional)
        stats_proc: Procesador estadístico (opcional)
        
    Returns:
        CommandProcessor: Procesador de comandos configurado
    """
    return CommandProcessor(realtime_proc, stats_proc)

def run_menu(realtime_proc=None, stats_proc=None):
    """
    Ejecuta el menú del sistema
    
    Args:
        realtime_proc: Procesador de tiempo real (opcional)
        stats_proc: Procesador estadístico (opcional)
    """
    try:
        command_proc = create_menu(realtime_proc, stats_proc)
        command_proc.start()
    except Exception as e:
        logger.error(f"Error en menú: {e}", exc_info=True)
    finally:
        logger.info("Menú finalizado")