ahora se procesa de inicio a fin correo por correo

This commit is contained in:
George committed 2026-07-09 09:48:30 -05:00
1 parent 99b7caf535
commit 7fa7204442
25 files changed
+2234 -334

No files matched your search

+13 -9
View File
@@ -1,9 +1,13 @@
import sqlite3
# ============================================================================
# CONFIGURACIÓN
# ============================================================================
DB_NAME = "emails.db"
########################################################
def init_db():
# ============================================================================
def init_db() -> None:
"""
Inicializa la base de datos SQLite y crea la tabla de correos si no existe.
"""
@@ -25,8 +29,8 @@ def init_db():
conn.commit()
conn.close()
########################################################
def save_emails(emails_list):
# ============================================================================
def save_emails(emails_list: list[dict]) -> int:
"""
Guarda una lista de correos en la base de datos.
Retorna la cantidad de registros nuevos insertados.
@@ -65,8 +69,8 @@ def save_emails(emails_list):
conn.close()
return rows_affected
########################################################
def get_existing_ids(ids_list):
# ============================================================================
def get_existing_ids(ids_list: list[str]) -> list[str]:
"""
Recibe una lista de IDs y devuelve una lista con aquellos que ya existen en la BD.
"""
@@ -88,8 +92,8 @@ def get_existing_ids(ids_list):
conn.close()
return existing_ids
########################################################
def delete_email_by_id(email_id):
# ============================================================================
def delete_email_by_id(email_id: str) -> bool:
"""
Elimina un correo de la base de datos por su ID.
Retorna True si se eliminó el registro, False si no se encontró.
@@ -107,4 +111,4 @@ def delete_email_by_id(email_id):
conn.close()
return rows_affected > 0
########################################################
# ============================================================================