Las funciones anidadas de _procesar_un_correo pasan a funciones de módulo con parámetros explícitos; pipeline.py queda solo como orquestador. copiar_a_red lee las variables de entorno al ejecutarse. Se actualizan docs. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
16 lines
633 B
Python
16 lines
633 B
Python
"""Utilidades compartidas por los módulos del pipeline."""
|
|
|
|
import os
|
|
|
|
|
|
def ruta_carpeta(subcarpeta: str) -> str:
|
|
"""Retorna la ruta absoluta de ``subcarpeta`` relativa a la raíz del proyecto."""
|
|
return os.path.join(os.path.dirname(__file__), subcarpeta)
|
|
|
|
|
|
def log(msg: str, level: int = 1, last: bool = False) -> None:
|
|
"""Imprime ``msg`` con la indentación de árbol usada en el log del pipeline."""
|
|
branch = " └── " if last else " ├── "
|
|
pfx = {1: branch, 2: f" │ {branch}", 3: f" │ │ {branch}", 4: f" │ │ │ {branch}"}.get(level, branch)
|
|
print(f"{pfx}{msg}")
|