o
    ÔIV  ã                   @   s6   d dl Z d dlZG dd„ de jƒZG dd„ deƒZdS )é    Nc                       s   e Zd Z‡ fdd„Z‡  ZS )Ú_CustomJSONEncoderc                    s$   t |tjƒr
t|ƒS tt| ƒ |¡S ©N)Ú
isinstanceÚdecimalÚDecimalÚfloatÚsuperr   Údefault)ÚselfÚo©Ú	__class__© úB/var/www/html/env/lib/python3.10/site-packages/smtpapi/__init__.pyr	      s   z_CustomJSONEncoder.default)Ú__name__Ú
__module__Ú__qualname__r	   Ú__classcell__r   r   r   r   r      s    r   c                   @   sœ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%S )&ÚSMTPAPIHeaderc                 C   s
   i | _ d S r   ©Údata)r
   r   r   r   Ú__init__   s   
zSMTPAPIHeader.__init__c                 C   sJ   d| j vr
g | j d< t|ƒtu r| j d  |7  < d S | j d  |¡ d S ©NÚto)r   ÚtypeÚlistÚappend)r
   r   r   r   r   Úadd_to   s
   

zSMTPAPIHeader.add_toc                 C   ó   || j d< d S r   r   )r
   Útosr   r   r   Úset_tos   ó   zSMTPAPIHeader.set_tosc                 C   sH   d| j vr
i | j d< || j d vrg | j d |< | j d |  |¡ d S ©NÚsub©r   r   ©r
   ÚkeyÚvaluer   r   r   Úadd_substitution   s
   

zSMTPAPIHeader.add_substitutionc                 C   r   r"   r   )r
   Úsubsr   r   r   Úset_substitutions"   r!   zSMTPAPIHeader.set_substitutionsc                 C   ó&   d| j vr
i | j d< || j d |< d S ©NÚunique_argsr   r%   r   r   r   Úadd_unique_arg%   ó   

zSMTPAPIHeader.add_unique_argc                 C   r   r,   r   ©r
   r'   r   r   r   Úset_unique_args*   r!   zSMTPAPIHeader.set_unique_argsc                 C   ó(   d| j vr
g | j d< | j d  |¡ d S ©NÚcategoryr$   ©r
   r4   r   r   r   Úadd_category-   ó   

zSMTPAPIHeader.add_categoryc                 C   r   r3   r   r5   r   r   r   Úset_categories2   r!   zSMTPAPIHeader.set_categoriesc                 C   r+   ©NÚsectionr   )r
   r&   r:   r   r   r   Úadd_section5   r/   zSMTPAPIHeader.add_sectionc                 C   r   r9   r   r0   r   r   r   Úset_sections:   r!   zSMTPAPIHeader.set_sectionsc                 C   r2   ©NÚsend_each_atr$   ©r
   Útimer   r   r   Úadd_send_each_at=   r7   zSMTPAPIHeader.add_send_each_atc                 C   r   r=   r   r?   r   r   r   Úset_send_each_atB   r!   zSMTPAPIHeader.set_send_each_atc                 C   r   )NÚsend_atr   r?   r   r   r   Úset_send_atE   r!   zSMTPAPIHeader.set_send_atc                 C   sn   d| j vr
i | j d< || j d vri | j d |< d| j d | vr*i | j d | d< || j d | d |< d S )NÚfiltersÚsettingsr   )r
   ÚappÚsettingÚvalr   r   r   Ú
add_filterH   s   

zSMTPAPIHeader.add_filterc                 C   s$   t |ƒsi | jd< d S || jd< d S )NÚasm_group_id©Úboolr   r0   r   r   r   Úset_asm_group_idQ   ó   zSMTPAPIHeader.set_asm_group_idc                 C   s$   t |ƒr|| jd< d S i | jd< d S )NÚip_poolrL   r0   r   r   r   Úset_ip_poolW   rO   zSMTPAPIHeader.set_ip_poolc                 C   sL   i }| j  ¡ D ]}| j | g kr| j | i kr| j | ||< qtj|td�S )N)Úcls)r   ÚkeysÚjsonÚdumpsr   )r
   Úresultr&   r   r   r   Újson_string]   s   €zSMTPAPIHeader.json_stringN)r   r   r   r   r   r    r(   r*   r.   r1   r6   r8   r;   r<   rA   rB   rD   rJ   rN   rQ   rW   r   r   r   r   r      s&    	r   )rT   r   ÚJSONEncoderr   Úobjectr   r   r   r   r   Ú<module>   s    