se agrega archivos para la instalación en Docker

This commit is contained in:
George committed 2026-08-04 17:57:43 -05:00
1 parent 533105e7c3
commit cf2c1ee147
28 files changed
+1430 -501

No files matched your search

+9 -14
View File
@@ -2,20 +2,19 @@ import os
import zipfile
import database_utilities
########################################################
# ========================================================================
def filtrar_correos_nuevos(emails):
"""
Verifica cuáles correos son nuevos (no están en la BD), los guarda
y retorna la lista filtrada de los que tienen adjuntos.
Verifica cuáles correos son nuevos (no están en la BD), los guarda en la BD
y retorna la lista completa de nuevos (con o sin adjuntos).
Todos se registran en DB para no reprocesarlos en futuras ejecuciones.
"""
if not emails:
return []
# 1. Verificar cuáles ya existen en la BD
ids = [e['id'] for e in emails]
existentes = database_utilities.get_existing_ids(ids)
# Solo nos quedamos con los que NO están en la BD
nuevos = [e for e in emails if e['id'] not in existentes]
print(f"Correos nuevos detectados: {len(nuevos)}")
@@ -23,13 +22,9 @@ def filtrar_correos_nuevos(emails):
print("Guardando nuevos correos en la base de datos...")
database_utilities.save_emails(nuevos)
# 2. Filtrar para quedarse solo con los que tienen adjuntos
con_adjuntos = [e for e in nuevos if e['has_attach']]
print(f"Correos nuevos con adjuntos: {len(con_adjuntos)}")
return con_adjuntos
return nuevos
########################################################
# ========================================================================
def descomprimir_adjuntos(archivos, ruta):
"""
Descomprime archivos .zip en la ruta especificada y actualiza la lista de archivos.
@@ -51,7 +46,7 @@ def descomprimir_adjuntos(archivos, ruta):
archivos_finales.append(archivo)
return archivos_finales
########################################################
# ========================================================================
def filtrar_archivos_validos(archivos):
"""
Retorna una lista solo con archivos .pdf y .xml (ignora mayúsculas/minúsculas).
@@ -59,7 +54,7 @@ def filtrar_archivos_validos(archivos):
extensiones_validas = ('.pdf', '.xml')
return [a for a in archivos if a.lower().endswith(extensiones_validas)]
########################################################
# ========================================================================
def procesar_adjuntos_email(e, archivos, ruta_descarga):
"""
Descomprime y filtra los archivos de un correo.
@@ -76,5 +71,5 @@ def procesar_adjuntos_email(e, archivos, ruta_descarga):
return archivos_validos
return []
########################################################
# ========================================================================