a
    [f1	                     @   sL   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 de	ZdS )z-Email backend that writes messages to a file.    N)settings)ImproperlyConfigured)EmailBackendc                       sB   e Zd Zdd fdd
Zdd Zdd Zd	d
 Zdd Z  ZS )r   N)	file_pathc             
      s   d | _ |d ur|| _nttdd | _tj| j| _ztj| jdd W nT tyh   t	d| j Y n6 t
y } zt	d| j|f W Y d }~n
d }~0 0 t| jtjst	d| j d |d< t j|i | d S )NZEMAIL_FILE_PATHT)exist_okzAPath for saving email messages exists, but is not a directory: %sz=Could not create directory for saving email messages: %s (%s)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__ uC:\Users\91910\OneDrive\Desktop\vts_admin_rebuild-master\vts\Lib\site-packages\django/core/mail/backends/filebased.pyr      s2    zEmailBackend.__init__c                 C   s4   | j |  d  | j d | j d d S )N   
sO   -------------------------------------------------------------------------------)r   writemessageas_bytes)r   r   r   r   r   write_message*   s    zEmailBackend.write_messagec                 C   sF   | j du r@tj d}d|tt| f }tj| j	|| _ | j S )zReturn a unique file name.Nz%Y%m%d-%H%M%Sz	%s-%s.log)
r   datetimenowstrftimeabsidr
   r   joinr   )r   	timestampfnamer   r   r   _get_filename/   s
    
zEmailBackend._get_filenamec                 C   s"   | j d u rt|  d| _ dS dS )NabTF)r   openr)   r   r   r   r   r+   7   s    
zEmailBackend.openc                 C   s,   z| j d ur| j   W d | _ nd | _ 0 d S )N)r   closer,   r   r   r   r-   =   s    
zEmailBackend.close)	__name__
__module____qualname__r   r    r)   r+   r-   __classcell__r   r   r   r   r      s
   r   )
__doc__r!   r
   Zdjango.confr   Zdjango.core.exceptionsr   Z!django.core.mail.backends.consoler   ZConsoleEmailBackendr   r   r   r   <module>   s   