2.2 KiB
Memoria de Evolución - Procesador de Emails a Cronología
Descripcion de los scripts Procesador de Emails a Cronología
Este script procesa archivos de correo electrónico (.eml) para extraer su contenido, gestionar adjuntos y generar un archivo Markdown que presenta los mensajes en orden cronológico inverso.
Lógica Principal:
Beautify: Carga reglas de embellecimiento de texto desde config/beautify_rules.json para limpiar el contenido de los correos. Descubrimiento: Busca todos los archivos .eml en el directorio de trabajo configurado.
Procesamiento Individual: Itera sobre cada archivo .eml encontrado. Utiliza utils.email_parser.procesar_eml para extraer metadatos (fecha, asunto, remitente, destinatarios), contenido del cuerpo y guardar los archivos adjuntos en la carpeta especificada. Calcula un hash para cada mensaje para detectar duplicados.
Si un mensaje es nuevo (no duplicado):
Aplica las reglas de BeautifyProcessor al contenido del cuerpo. Añade el mensaje procesado a una lista.
Ordenación: Ordena la lista de mensajes únicos por fecha, del más reciente al más antiguo.
Generación de Índice: Crea una sección de índice en formato Markdown con enlaces internos a cada mensaje. Salida Markdown: Escribe el índice seguido del contenido formateado en Markdown de cada mensaje en el archivo de salida configurado (ej. cronologia.md).
2025-08-08 — Inversión de directorios (entrada/salida)
- Decisión: Alinear con la guía
backend_setup.md
para que:working_directory
sea el directorio de salida (resultado), donde se escribecronologia.md
y se guardan los adjuntos.level3.input_directory
sea el directorio de entrada donde se leen los.eml
.
- Cambios:
esquema_work.json
: se renombraoutput_directory
→input_directory
y se actualizantitle
/description
.x1.py
:- Lee
level3.input_directory
como entrada. - Escribe
cronologia_file
yattachments_dir
dentro deworking_directory
. - Crea directorios de salida si no existen.
- Se corrigen lints (E402 y líneas largas) sin alterar lógica.
- Lee
- Impacto:
- Los
work_dir.json
existentes deben actualizar la clave ainput_directory
. - No hay cambios en claves de
level2
(cronologia_file
,attachments_dir
).
- Los