Subir archivos a "/"
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
from typing import List, Dict, Any, Tuple
|
||||
from logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
# EXPLICACIÓN: Este módulo procesa los datos sin tocar la interfaz (Regla 5).
|
||||
def validar_datos_tabla(datos_tabla: List[List[str]]) -> bool:
|
||||
"""
|
||||
Verifica que los tiempos ingresados sean numéricos (Regla 4).
|
||||
|
||||
Args:
|
||||
datos_tabla (List[List[str]]): Matriz de datos extraída de la UI.
|
||||
|
||||
Returns:
|
||||
bool: True si todos los datos requeridos son válidos numéricamente, False en caso contrario.
|
||||
"""
|
||||
try:
|
||||
for fila in datos_tabla:
|
||||
for celda in fila:
|
||||
if celda.strip():
|
||||
float(celda) # EAFP: intentar convertir a float en lugar de comprobaciones (Regla 3)
|
||||
return True
|
||||
except ValueError:
|
||||
logger.warning("Fallo en la validación de tabla: celda no numérica.")
|
||||
return False
|
||||
except Exception:
|
||||
logger.exception("Error inesperado al validar la tabla de datos.")
|
||||
return False
|
||||
|
||||
def procesar_calculos_estudio(datos: Dict[str, Any]) -> Dict[str, float]:
|
||||
"""
|
||||
Realiza los cálculos de suplementos y valoración basados en la matriz de tiempos.
|
||||
|
||||
Args:
|
||||
datos (Dict[str, Any]): Diccionario con la configuración del relevamiento y los tiempos.
|
||||
|
||||
Returns:
|
||||
Dict[str, float]: Diccionario con los resultados calculados.
|
||||
"""
|
||||
# Lógica matemática del proyecto encapsulada sin UI
|
||||
resultados: Dict[str, float] = {
|
||||
"tiempo_estandar": 0.0,
|
||||
"cadencia": 0.0
|
||||
}
|
||||
|
||||
try:
|
||||
# Aquí se realizarían los cálculos reales
|
||||
pass
|
||||
except Exception:
|
||||
logger.exception("Error durante el procesamiento matemático del estudio.")
|
||||
|
||||
return resultados
|
||||
Reference in New Issue
Block a user