from celery import shared_task
from django_mailbox.models import Message, Mailbox
from django_celery_beat.models import PeriodicTask
import logging

logger = logging.getLogger("django_mailbox")

@shared_task
def run_getmail():
    """
    Tâche périodique pour lancer l'import IMAP sur toutes les mailboxes actives
    et traiter les nouveaux messages interceptés selon des critères.
    """
    logger.info("Début import IMAP")

    for mailbox in Mailbox.objects.filter(active=True):
        messages = mailbox.get_new_mail()
        try:
            for message in messages:
                logger.info(f"[IMAP] Tentative d'import : {message.subject} de {message.from_address}")
                # Filtrage sur le sujet et l'émetteur
                if (
                    message.subject == "n3wt"
                    and message.from_address == "anthony.casini.30@gmail.com"
                ):
                    logger.info(f"[IMAP] Message importé : {message.subject} de {message.from_address}")
                else:
                    # Optionnel : supprimer le message importé qui ne correspond pas
                    message.delete()
        except Exception as e:
            logger.error(f"Erreur lors de l'import des messages pour la mailbox {mailbox}: {e}", exc_info=True)

    logger.info("Fin import IMAP")