U
    $-d:                     @   sH   d dl Z d dlT d dlmZmZ d dlmZ dd Zdd Zd	d
 Z	dS )    N)*)refresh_access_tokenmake_oauth_string)Settingsc                 C   sx   | j dd }t|}|j}z |jr,tjntj|j|j	}W n4   |jrlt|d}t|jj|jj	}n Y nX |S )N@F)
	from_mailsplitr   smtpZsslsmtplibZSMTP_SSLZSMTPZhostnameZport)argsnameZsettingsr
   Zsmtp_server r   ./modules/mail/client/smtp.py
_make_smtp   s     
r   c              
   C   s   z\t dJ}| D ]2}|| r| dd   W  5 Q R  W S qtdW 5 Q R X W n0 tk
r } ztd |W 5 d }~X Y nX d S )Nz!/opt/crm/custom/gmail_secrets.ini=r   uT   Не удалось найти данные для подключения почтыun   Не удалось прочитать файл с секретами для подключения почты)	open	readlines
startswithstripr	   
ValueErrorOSErrorZloggingZ	exception)	client_idZsecretslineerrr   r   r   _gmail_client_secret   s    

&
r   c           	   	   C   s   t | }|  | jrddlm} |dd ttj  tjj	| j
d}|jdkr|jj|jj }}t|}t|||}|stdt| j
|}|dd	|d
  W 5 Q R X n| jr|| j
| j |S )Nr   )cmf_contextT)Zinit_views_and_ds)ZemailZgoogleu"   Не получили access tokenZAUTHzXOAUTH2 zutf-8)r   ZehloZdatabaseZcmf.appr   printZmodelsZ
CmfMailboxlistgetr   typeZgmail_client_idvalueZgmail_refresh_tokenr   r   AssertionErrorr   ZdocmddecodeZpasswordZlogin)	r   Zserverr   Zmailboxr   Zrefresh_tokenZclient_secretZaccess_tokenZoauth_stringr   r   r   make_smtp_auth#   s"    
"r$   )
r   Zcmf.includeZmodules.mail.client.gmailr   r   Zmodules.mail.client.serversr   r   r   r$   r   r   r   r   <module>   s   