se mueve consulta_rapida.py a tools/ y se corrige ruta de ids_prueba.json

El script apuntaba a test/ids_prueba.json, carpeta que ya no existe tras el
renombre a tools/. Ahora resuelve rutas desde su ubicación y agrega la raíz
del proyecto al sys.path. Se quita de py-modules y se actualiza inventario.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-20 22:03:38 -05:00
1 parent 6664264b44
commit 80493eaa94
3 files changed
+14 -8

No files matched your search

+2 -2
View File
@@ -18,7 +18,7 @@
| `outlook_utilities.py` | 234 | Comunicación con Microsoft Graph | | `outlook_utilities.py` | 234 | Comunicación con Microsoft Graph |
| `hana_manager.py` | 123 | Comunicación con SAP HANA directa (fallback de `sapb1_manager` y valor referencial) | | `hana_manager.py` | 123 | Comunicación con SAP HANA directa (fallback de `sapb1_manager` y valor referencial) |
| `database_utilities.py` | 116 | SQLite local (cache de correos) | | `database_utilities.py` | 116 | SQLite local (cache de correos) |
| `consulta_rapida.py` | 113 | Script auxiliar para reprocesar correos por ID | | `tools/consulta_rapida.py` | 121 | Script auxiliar para reprocesar correos por ID (sets en `tools/ids_prueba.json`) |
| `email_utilities.py` | 52 | Utilitarios de adjuntos (ZIP, filtrado) | | `email_utilities.py` | 52 | Utilitarios de adjuntos (ZIP, filtrado) |
| `logger_manager.py` | 149 | Logging a archivo rotado (30 días) + consola + captura de `print()` | | `logger_manager.py` | 149 | Logging a archivo rotado (30 días) + consola + captura de `print()` |
@@ -50,7 +50,7 @@ pipeline.py
├── draft_sap.py → sapb1_manager, hana_manager ├── draft_sap.py → sapb1_manager, hana_manager
└── notificaciones.py └── notificaciones.py
consulta_rapida.py tools/consulta_rapida.py
├── logger_manager.py ├── logger_manager.py
├── database_utilities.py ├── database_utilities.py
└── pipeline.py (_procesar_un_correo, step_authenticate) └── pipeline.py (_procesar_un_correo, step_authenticate)
-1
View File
@@ -19,7 +19,6 @@ dependencies = [
[tool.setuptools] [tool.setuptools]
py-modules = [ py-modules = [
"adjuntos", "adjuntos",
"consulta_rapida",
"database_utilities", "database_utilities",
"documentos", "documentos",
"draft_sap", "draft_sap",
@@ -1,6 +1,9 @@
""" """
Script para procesar correos específicos por ID desde un archivo JSON. Script para procesar correos específicos por ID desde tools/ids_prueba.json.
No modifica el código existente del pipeline. No modifica el código existente del pipeline.
Uso (desde cualquier directorio):
python tools/consulta_rapida.py --set <nombre_del_set>
""" """
import sys import sys
import os import os
@@ -10,6 +13,10 @@ import requests
from datetime import datetime, timedelta from datetime import datetime, timedelta
from dotenv import load_dotenv from dotenv import load_dotenv
# Raíz del proyecto en sys.path para importar los módulos del pipeline
RAIZ = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")
sys.path.insert(0, RAIZ)
import database_utilities import database_utilities
import logger_manager import logger_manager
from pipeline import _procesar_un_correo, step_authenticate from pipeline import _procesar_un_correo, step_authenticate
@@ -46,7 +53,7 @@ def get_email_by_id(user_email: str, token: str, message_id: str) -> dict | None
# ============================================================================ # ============================================================================
def run_pipeline_for_ids(ids: list[str]) -> None: def run_pipeline_for_ids(ids: list[str]) -> None:
# Ruta absoluta: no depende del directorio de trabajo desde el que se lance el proceso # Ruta absoluta: no depende del directorio de trabajo desde el que se lance el proceso
load_dotenv(dotenv_path=os.path.join(os.path.dirname(__file__), ".env")) load_dotenv(dotenv_path=os.path.join(RAIZ, ".env"))
email_addr = os.getenv("EMAIL", "") email_addr = os.getenv("EMAIL", "")
download_folder = os.getenv("DOWNLOAD_FOLDER", "adjuntos") download_folder = os.getenv("DOWNLOAD_FOLDER", "adjuntos")
output_folder = os.getenv("OUTPUT_FOLDER", "resultado") output_folder = os.getenv("OUTPUT_FOLDER", "resultado")
@@ -72,15 +79,15 @@ def run_pipeline_for_ids(ids: list[str]) -> None:
# ============================================================================ # ============================================================================
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Procesar correos específicos por set de IDs desde tests/ids_prueba.json" description="Procesar correos específicos por set de IDs desde tools/ids_prueba.json"
) )
parser.add_argument( parser.add_argument(
"--set", "-s", required=True, "--set", "-s", required=True,
help="Nombre del set en tests/ids_prueba.json" help="Nombre del set en tools/ids_prueba.json"
) )
args = parser.parse_args() args = parser.parse_args()
json_path = os.path.join(os.path.dirname(__file__), "test", "ids_prueba.json") json_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ids_prueba.json")
if not os.path.exists(json_path): if not os.path.exists(json_path):
print(f"❌ No se encuentra {json_path}") print(f"❌ No se encuentra {json_path}")
sys.exit(1) sys.exit(1)