import logging

logger = logging.getLogger(__name__)


def enqueue_send_emails(boleta_ids: list[int]):
    logger.info("[SIMULADO] Encolando envío de emails para boletas: %s", boleta_ids)


def enqueue_generate_pdfs(boleta_ids: list[int]):
    try:
        from apps.boletas.models import Boleta
        from apps.boletas.pdf import attach_boleta_pdf, build_boleta_pdf_bytes
    except Exception:
        logger.exception("No se pudo inicializar la generación de PDFs para boletas: %s", boleta_ids)
        return

    qs = Boleta.objects.select_related("productor", "contrato", "variedad", "linea").filter(id__in=boleta_ids)
    for boleta in qs:
        if boleta.pdf_generado:
            continue
        try:
            pdf_bytes = build_boleta_pdf_bytes(boleta)
            attach_boleta_pdf(boleta, pdf_bytes)
        except Exception:
            logger.exception("No se pudo generar/adjuntar PDF para boleta id=%s", boleta.id)
