se agrega archivos para la instalación en Docker
This commit is contained in:
1 parent
533105e7c3
commit
cf2c1ee147
28 files changed
+1430
-501
No files matched your search
+9
-14
@@ -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 []
|
||||
|
||||
########################################################
|
||||
# ========================================================================
|
||||
|
||||
Reference in new issue
Block a user