
    Vh                     :    d Z ddlZddlZddlmZ  G d de      Zy)zH
Email backend that writes messages to console instead of sending them.
    N)BaseEmailBackendc                   *     e Zd Z fdZd Zd Z xZS )EmailBackendc                     |j                  dt        j                        | _        t	        j
                         | _        t        |    |i | y )Nstream)	popsysstdoutr   	threadingRLock_locksuper__init__)selfargskwargs	__class__s      Q/home/dcms/DCMS/lib/python3.12/site-packages/django/core/mail/backends/console.pyr   zEmailBackend.__init__   s9    jj3::6__&
$)&)    c                 n   |j                         }|j                         }|j                         r|j                         j                         nd}|j	                  |      }| j
                  j                  d|z         | j
                  j                  d       | j
                  j                  d       y )Nzutf-8z%s
zO-------------------------------------------------------------------------------
)messageas_bytesget_charsetget_output_charsetdecoder   write)r   r   msgmsg_datacharsets        r   write_messagezEmailBackend.write_message   s    oo<<>69oo6GCOO002W 	 ??7+&8+,(#$r   c                 @   |syd}| j                   5  	 | j                         }|D ]2  }| j                  |       | j                  j	                          |dz  }4 |r| j                          ddd       |S # t        $ r | j                  s Y "w xY w# 1 sw Y   |S xY w)z6Write all messages to the stream in a thread-safe way.Nr      )r   openr!   r   flushclose	Exceptionfail_silently)r   email_messages	msg_countstream_createdr   s        r   send_messageszEmailBackend.send_messages   s    	ZZ 	
!%- #G&&w/KK%%'NI# "JJL	   )) *	 s)   BAA77BBBBB)__name__
__module____qualname__r   r!   r,   __classcell__)r   s   @r   r   r      s    *
	 r   r   )__doc__r	   r   django.core.mail.backends.baser   r    r   r   <module>r4      s"      ;"# "r   