# utils/markdown_handler.py
import os
import re
from datetime import datetime
from models.mensaje_email import MensajeEmail

def cargar_cronologia_existente(archivo):
    mensajes = []
    if not os.path.exists(archivo):
        return mensajes

    with open(archivo, 'r', encoding='utf-8') as f:
        contenido = f.read()

    bloques = contenido.split('---\n\n')
    for bloque in bloques:
        if not bloque.strip():
            continue

        match = re.match(r'## (\d{14})\|(.*?)\n\n(.*)', bloque.strip(), re.DOTALL)
        if match:
            fecha_str, remitente, contenido = match.groups()
            fecha = datetime.strptime(fecha_str, '%Y%m%d%H%M%S')
            
            adjuntos = []
            if '### Adjuntos' in contenido:
                contenido_principal, lista_adjuntos = contenido.split('### Adjuntos')
                adjuntos = [adj.strip()[2:-2] for adj in lista_adjuntos.strip().split('\n')]
                contenido = contenido_principal.strip()

            mensajes.append(MensajeEmail(
                remitente=remitente,
                fecha=fecha,
                contenido=contenido,
                adjuntos=adjuntos
            ))

    return mensajes

