feat: Introduce bot-digitador service for automated data entry in Integración Total. Add CLI and GUI interfaces for CSV processing, implement auto-start functionality on Windows, and enhance README with setup instructions and usage details. Include necessary configurations in docker-compose for service integration.

This commit is contained in:
erik
2026-08-09 21:26:56 -05:00
parent a3b4c7fc47
commit e9b766281a
74 changed files with 11177 additions and 115 deletions
+9 -3
View File
@@ -15,6 +15,7 @@ from domain.verificador_st import (
consolidado_to_records,
export_no_aptos_csv,
export_paso_bot_csv,
export_todos_csv,
process_cleaning_sources,
)
from domain.verificador_st.core import cargar_origen_servicio_desde_bytes
@@ -483,11 +484,13 @@ def get_rows(
@app.get("/jobs/{job_id}/export.csv")
def export_csv(
job_id: str,
subset: str = Query("aptos", description="aptos | no_aptos"),
subset: str = Query("aptos", description="aptos | no_aptos | todos"),
) -> Response:
subset_norm = (subset or "aptos").strip().lower()
if subset_norm not in {"aptos", "no_aptos", "errores"}:
raise HTTPException(status_code=400, detail="subset debe ser aptos o no_aptos")
if subset_norm in {"all", "completo", "consolidado"}:
subset_norm = "todos"
if subset_norm not in {"aptos", "no_aptos", "errores", "todos"}:
raise HTTPException(status_code=400, detail="subset debe ser aptos, no_aptos o todos")
if subset_norm == "errores":
subset_norm = "no_aptos"
@@ -504,6 +507,9 @@ def export_csv(
if subset_norm == "aptos":
csv_text = export_paso_bot_csv(payload)
filename = f"poblacion_apta_aptos_{job_id[:8]}.csv"
elif subset_norm == "todos":
csv_text = export_todos_csv(payload)
filename = f"poblacion_apta_todos_{job_id[:8]}.csv"
else:
csv_text = export_no_aptos_csv(payload)
filename = f"poblacion_apta_no_aptos_{job_id[:8]}.csv"