
    df1	                     Z    d Z ddlZddlZddlmZ ddlmZ ddlmZ	  G d de	          ZdS )z-Email backend that writes messages to a file.    N)settings)ImproperlyConfigured)EmailBackendc                   <     e Zd Zdd fd
Zd Zd Zd Zd Z xZS )r   N)	file_pathc                8   d | _         ||| _        nt          t          dd           | _        t          j                            | j                  | _        	 t	          j        | j        d           nM# t          $ r t          d| j        z            t          $ r }t          d| j        d|d          d }~ww xY wt	          j        | j        t          j                  st          d| j        z            d |d	<    t                      j        |i | d S )
NEMAIL_FILE_PATHT)exist_okzAPath for saving email messages exists, but is not a directory: %sz6Could not create directory for saving email messages: z ()z Could not write to directory: %sstream)_fnamer   getattrr   ospathabspathmakedirsFileExistsErrorr   OSErroraccessW_OKsuper__init__)selfr   argskwargserr	__class__s        _D:\Python Project\djangoTemplates\venv\Lib\site-packages\django/core/mail/backends/filebased.pyr   zEmailBackend.__init__   sB    &DNN$X/@$GGDN88	K66666 	 	 	&S.!    	 	 	&&>>>333(  	 y11 	&2T^C    x$)&)))))s   A4 4*B>B99B>c                     | j                             |                                                                dz              | j                             d           | j                             d           d S )N   
sO   -------------------------------------------------------------------------------)r   writemessageas_bytes)r   r"   s     r   write_messagezEmailBackend.write_message*   se    '//++4466>???)$$$%         c                    | j         }t          j                                                            d          }|dt	          t          |                     d}t          j                            | j	        |          | _         | j         S )zReturn a unique file name.Nz%Y%m%d-%H%M%S-z.log)
r   datetimenowstrftimeabsidr   r   joinr   )r   	timestampfnames      r   _get_filenamezEmailBackend._get_filename/   sk    ; )--//88III#,99c"T((mmmm<E',,t~u==DK{r%   c                 f    | j         )t          |                                 d          | _         dS dS )NabTF)r   openr0   r   s    r   r3   zEmailBackend.open7   s1    ;t1133T::DK4ur%   c                 n    	 | j         | j                                          d | _         d S # d | _         w xY w)N)r   closer4   s    r   r6   zEmailBackend.close=   sA    	{&!!###DKKK$DKs    + 	4)	__name__
__module____qualname__r   r$   r0   r3   r6   __classcell__)r   s   @r   r   r      s        (, * * * * * * *<! ! !
          r%   r   )
__doc__r(   r   django.confr   django.core.exceptionsr   !django.core.mail.backends.consoler   ConsoleEmailBackend r%   r   <module>rA      s    3 3  				             7 7 7 7 7 7 Q Q Q Q Q Q7 7 7 7 7& 7 7 7 7 7r%   