o
    ›¨ÊhS  ã                   @   sB   d dl Z d dlmZ ddlmZ ddlmZ G dd„ deeƒZdS )é    N)ÚEmailBackendé   )ÚAnymailErroré   c                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )r   zp
    Anymail backend that prints messages to the console, while retaining
    anymail statuses and signals.
    ÚConsolec                 C   s   t t ¡ ƒS )N)ÚstrÚuuidÚuuid4)ÚselfÚmessage© r   úJ/var/www/html/env/lib/python3.10/site-packages/anymail/backends/console.pyÚget_esp_message_id   s   zEmailBackend.get_esp_message_idc              
   C   s¼   |sd S d}| j �K z9|  ¡ }|D ]*}z|  |¡}W n ty*   | jr'd}n‚ Y nw |r;|  |¡ | j ¡  |d7 }qW |rC|  ¡  n|rK|  ¡  w w W d   ƒ |S 1 sWw   Y  |S )Nr   Fr   )	Ú_lockÚopenÚ_sendr   Úfail_silentlyÚwrite_messageÚstreamÚflushÚclose)r
   Úemail_messagesÚ	msg_countÚstream_createdr   Úsentr   r   r   Úsend_messages   s@   þþ

€õ€ÿ
ÿ€
ðízEmailBackend.send_messagesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úesp_namer   r   r   r   r   r   r      s
    r   )r   Ú!django.core.mail.backends.consoler   ÚDjangoConsoleBackendÚ
exceptionsr   ÚtestÚAnymailTestBackendr   r   r   r   Ú<module>   s
    