o ʎ_z@s4dZddlZddlZddlmZGdddeZdS)zH Email backend that writes messages to console instead of sending them. N)BaseEmailBackendcs,eZdZfddZddZddZZS) EmailBackendcs0|dtj|_t|_tj|i|dS)Nstream) popsysstdoutr threadingRLock_locksuper__init__)selfargskwargs __class__C/usr/lib/python3/dist-packages/django/core/mail/backends/console.pyr s zEmailBackend.__init__cCs^|}|}|r|nd}||}|jd||jd|jddS)Nzutf-8z%s zO------------------------------------------------------------------------------- )messageas_bytes get_charsetget_output_charsetdecoderwrite)r rmsgmsg_datacharsetrrr write_messages  zEmailBackend.write_messagec Cs|sdSd}|j>z|}|D]}|||j|d7}q|r(|Wn ty6|js4Yn wWd|SWd|S1sJwY|S)z6Write all messages to the stream in a thread-safe way.Nr)r openrrflushclose Exception fail_silently)r email_messages msg_countstream_createdrrrr send_messagess4         zEmailBackend.send_messages)__name__ __module__ __qualname__r rr( __classcell__rrrrr s  r)__doc__rrdjango.core.mail.backends.baserrrrrrs