B
    Նc>%                 @   s   d dl Z d dlmZ d dlmZ d dlmZ d dlZdddZd dd	Z	d
d Z
d!ddZd"ddZdd Zdd Zdd Zdd Zdd Zd#ddZdd Zedkrd dlZe  e  dS )$    N)arabic_transfer)settings)cacheTc             C   s   t | tjrd| d }nt | tjr8d| d }nvt | tjrTd| d }nZt | trld| d  }nB|dkr| d k	rd|  }|ddd	d
dd}nd| pd }t|||}|S )Nz%sz%Y-%m-%d %H:%M:%Sz%Y-%m-%dz%H:%M:%Sverbosetxt	z\tz\r
z\n )
isinstancedatetimestrftimedatetimedictreplacer   )itemexport_stylereverseval r   *G:\easytimepro\master/mysite/base\utils.pycell_format   s    
r   c             C   s`   g }x | D ]}t ||}|| q
W |dkr8d|S |dkrXdd |D }d|S t|S )Nr   r   Zcsvc             S   s   g | ]}| d dqS ),z	 )r   ).0cr   r   r   
<listcomp>(   s    zrow_format.<locals>.<listcomp>z, )r   appendjointuple)rowr   lr   r   r   r   r   
row_format    s    



r"   c             C   sB   ddl m} t| d}|| }|  |dd| d  |S )Nr   )	MIMEImagerbz
Content-ID<>)Zemail.mime.imager#   openreadcloseZ
add_header)srcZimg_idr#   fpZ	msg_imager   r   r   add_img-   s    
r,   c	          
   C   s8  dd l }	ddlm}
 ddlm} ddlm}m} ddlm	} ddl
m}m} |d k	r`|d|}n| }|snd S |d}|d k	r|
||} d	|  } || d	||||d
}|d k	r|
||}n|}||d y"| }|| |  || W n< |	jk
r2 } z|t|t|dW d d }~X Y nX d S )Nr   )loader)EmailMultiAlternatives)get_system_settingget_zklicense_email)AdminRuntimeWarning)set_current_company_idget_current_company_idemail_settingemail_addressr
   )toZccZbccz	text/html)typerepr)smtplibdjango.templater-   django.core.mailr.   mysite.utilsr/   r0   mysite.admin.exceptionsr1   mysite.base.threadlocalsr2   r3   getrender_to_stringr   
splitlinesZattach_alternativesendSMTPExceptionr7   str)subjectbodyr6   
company_idcontextto_ccto_bccsubject_templatecontent_templater9   r-   r.   r/   r0   r1   r2   r3   r4   
from_emailemail_messageZhtml_contenttemp_company_ider   r   r   sending_mail;   s:    
rQ   c          
   C   s"  dd l }ddlm} ddlm}m} ddlm}	 ddlm	}
m
} |d k	rT|d|}n| }|sbd S |d}d|  } || |||d	}d
|_|rx(|D ] }t|d |d }|| qW y"| }|
| |  |
| W n< |jk
r } z|	t|t|dW d d }~X Y nX d S )Nr   )r.   )r/   r0   )r1   )r2   r3   r4   r5   r
   )r6   ZhtmlZ
image_pathZcid)r7   r8   )r9   r;   r.   r<   r/   r0   r=   r1   r>   r2   r3   r?   r   rA   Zcontent_subtyper,   ZattachrB   rC   r7   rD   )rE   rF   r6   rG   imagesr9   r.   r/   r0   r1   r2   r3   r4   rM   rN   tZimagerO   rP   r   r   r   sending_mail_attach_imagec   s6    

rT   c             C   s&   ddl m} |jd t|  d }|S )Nr   )r   z/logo_z.jpg)django.confr   ZCOMPANY_LOGO_STORE_PATHrD   )rG   r   Z	real_namer   r   r   get_real_company_logo_name   s    rV   c             C   s   ddl m} ddlm} ddlm} ddlm} t| }|j	}d| d }t
||dd	}	|d
}
dj|||
|	d}||| d S )Nr   )r   )r   )aes_encrypt)send_register_emailz
{'email':'z'}zutf-8)encodingzbiotime:confirm_new_userz3{scheme}://{host}{register_account_url}?code={code})schemehostregister_account_urlcode)Zdjango.urlsr   rU   r   Zmysite.tools.encryption_utilsrW   Zmysite.base.tasksrX   get_http_schemaZDOMAIN_HOSTrD   formatZdelay)requestemailr   r   rW   rX   rZ   r[   Zraw_dataZaes_datar\   Zlink_urlr   r   r   init_cloud_add_user_email   s    rb   c             C   s6   ddl m} |d}|d kr.|  r*dp,dS |S d S )Nr   )environZREQUEST_SCHEMAZhttpsZhttp)osrc   r?   Z	is_secure)r`   rc   Zschemar   r   r   r^      s
    
r^   c             C   sP   |rHt | }|d}|d }|d }||krB||g}d|}qL|}nd }|S )N:r      )r^   splitr   )r`   ZurlZ
env_schemaZ	split_urlZrequest_schemaZother_part_urlZurl_parameter_listZconverted_urlr   r   r   convert_url_schema   s    
rh   c             C   sP   dd l }dd l}d}d|d|dd}|j|ddi||d	  }t| d S )
Nr   z<https://notification.minervaiotdev.com/api/v1.0/notificationZsmsr
   )nameZaddress)ZmessageTyperE   Z	recipientzContent-typezapplication/json)headersdata)jsonrequestspostdumpsprint)rE   r6   rF   rl   rm   notification_api_urlnotification_datanotification_emailr   r   r   send_sms_notification   s    rt   c             C   s  dd l }dd l}ddlm} d}|d k	r4|||} d|  } tj}tj	}tj
}ddlm} |||}tdd }|sddi}|j|d	|d
|d  }|d }d}x^|D ]V}| |d< dt|t||dgd}|j|dd|d||d  }t| qW d S )Nr   )r-   zplatformsupport@zkteco.inr
   )http_basic_authaccess_tokenZ
grant_typeclient_credentialsz!application/x-www-form-urlencoded)zContent-TypeAuthorization)rj   rk   z<https://notification.minervaiotdev.com/api/v2.0/notificationZemailSubjectZEMAIL)ZrecipientAddressZtemplateParameter)ZnotificationTypeZ
templateIdZ
recipientszapplication/jsonz	Bearer {})zContent-typerx   )rl   rm   r:   r-   r@   r   rA   r   Z	CLIENT_IDZCLIENT_SECRETZ	TOKEN_URLZmysite.cloud.utilsru   r   r?   rn   rD   r_   ro   rp   )rE   Z
parametersr6   Ztemplate_idrG   rH   rI   rJ   rK   rL   rR   rl   rm   r-   rM   Z	client_idZclient_secretZ	token_urlru   rw   rv   rF   Zauthorization_contentrq   ra   rr   rs   r   r   r   send_notifications   s:    

"ry   c              C   s@   ddl m}  ddlm} d}d}d}dg}t||||jd d S )Nr   )r-   )r   Zwelcomezn
                Dear,<br>
                <br>
                    This is Testing Email
                    zxxx@zkteco.in)rG   )r:   r-   rU   r   rQ   ZDEFAULT_COMPANY_ID)r-   r   rE   rF   rM   Zto_emailr   r   r   
test_email   s    rz   __main__)NT)N)NNNNNN)NN)NNNNNNNN)r   Zmysite.base.reportr   rU   r   Zdjango.core.cacher   rm   r   r"   r,   rQ   rT   rV   rb   r^   rh   rt   ry   rz   __name__ZdjangoZsetupr   r   r   r   <module>   s,   

 
'
"	 
+