U
    42‹iœ!  ã                   @   s   G d d„ de ƒZdS )c                   @   sò   e Zd ZdZddd„Zedd„ ƒZejdd„ ƒZedd	„ ƒZejd
d	„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZdd„ ZdS ) ÚMailSettingszDA collection of mail settings that specify how to handle this email.Nc	           	      C   s¤   d| _ d| _d| _d| _d| _d| _d| _d| _|dk	r>|| _|dk	rL|| _	|dk	rZ|| _
|dk	rh|| _|dk	rv|| _|dk	r„|| _|dk	r’|| _|dk	r || _dS )a>  Create a MailSettings object

        :param bcc_settings: The BCC Settings of this MailSettings
        :type bcc_settings: BCCSettings, optional
        :param bypass_bounce_management: Whether this MailSettings bypasses bounce management.
                                         Should not be combined with bypass_list_management.
        :type bypass_list_management: BypassBounceManagement, optional
        :param bypass_list_management: Whether this MailSettings bypasses list
                                       management
        :type bypass_list_management: BypassListManagement, optional
        :param bypass_spam_management: Whether this MailSettings bypasses spam management.
                                       Should not be combined with bypass_list_management.
        :type bypass_list_management: BypassSpamManagement, optional
        :param bypass_unsubscribe_management: Whether this MailSettings bypasses unsubscribe management.
                                              Should not be combined with bypass_list_management.
        :type bypass_list_management: BypassUnsubscribeManagement, optional
        :param footer_settings: The default footer specified by this
                                MailSettings
        :type footer_settings: FooterSettings, optional
        :param sandbox_mode: Whether this MailSettings enables sandbox mode
        :type sandbox_mode: SandBoxMode, optional
        :param spam_check: How this MailSettings requests email to be checked
                           for spam
        :type spam_check: SpamCheck, optional
        N)Ú_bcc_settingsÚ_bypass_bounce_managementÚ_bypass_list_managementÚ_bypass_spam_managementÚ_bypass_unsubscribe_managementÚ_footer_settingsÚ_sandbox_modeÚ_spam_checkÚbcc_settingsÚbypass_bounce_managementÚbypass_list_managementÚbypass_spam_managementÚbypass_unsubscribe_managementÚfooter_settingsÚsandbox_modeÚ
spam_check)	Úselfr
   r   r   r   r   r   r   r   © r   úG/tmp/pip-unpacked-wheel-clku7wca/sendgrid/helpers/mail/mail_settings.pyÚ__init__   s0    "zMailSettings.__init__c                 C   s   | j S )zLThe BCC Settings of this MailSettings.

        :rtype: BCCSettings
        ©r   ©r   r   r   r   r
   G   s    zMailSettings.bcc_settingsc                 C   s
   || _ dS )zŽThe BCC Settings of this MailSettings.

        :param value: The BCC Settings of this MailSettings.
        :type value: BCCSettings
        Nr   ©r   Úvaluer   r   r   r
   O   s    c                 C   s   | j S )zfWhether this MailSettings bypasses bounce management.

        :rtype: BypassBounceManagement
        ©r   r   r   r   r   r   X   s    z%MailSettings.bypass_bounce_managementc                 C   s
   || _ dS )z·Whether this MailSettings bypasses bounce management.

        :param value: Whether this MailSettings bypasses bounce management.
        :type value: BypassBounceManagement
        Nr   r   r   r   r   r   `   s    c                 C   s   | j S )zbWhether this MailSettings bypasses list management.

        :rtype: BypassListManagement
        ©r   r   r   r   r   r   i   s    z#MailSettings.bypass_list_managementc                 C   s
   || _ dS )z±Whether this MailSettings bypasses list management.

        :param value: Whether this MailSettings bypasses list management.
        :type value: BypassListManagement
        Nr   r   r   r   r   r   q   s    c                 C   s   | j S )zbWhether this MailSettings bypasses spam management.

        :rtype: BypassSpamManagement
        ©r   r   r   r   r   r   z   s    z#MailSettings.bypass_spam_managementc                 C   s
   || _ dS )z±Whether this MailSettings bypasses spam management.

        :param value: Whether this MailSettings bypasses spam management.
        :type value: BypassSpamManagement
        Nr   r   r   r   r   r   ‚   s    c                 C   s   | j S )zpWhether this MailSettings bypasses unsubscribe management.

        :rtype: BypassUnsubscribeManagement
        ©r   r   r   r   r   r   ‹   s    z*MailSettings.bypass_unsubscribe_managementc                 C   s
   || _ dS )zÆWhether this MailSettings bypasses unsubscribe management.

        :param value: Whether this MailSettings bypasses unsubscribe management.
        :type value: BypassUnsubscribeManagement
        Nr   r   r   r   r   r   “   s    c                 C   s   | j S )z[The default footer specified by this MailSettings.

        :rtype: FooterSettings
        ©r   r   r   r   r   r   œ   s    zMailSettings.footer_settingsc                 C   s
   || _ dS )z©The default footer specified by this MailSettings.

        :param value: The default footer specified by this MailSettings.
        :type value: FooterSettings
        Nr   r   r   r   r   r   ¤   s    c                 C   s   | j S )zUWhether this MailSettings enables sandbox mode.

        :rtype: SandBoxMode
        ©r   r   r   r   r   r   ­   s    zMailSettings.sandbox_modec                 C   s
   || _ dS )z Whether this MailSettings enables sandbox mode.

        :param value: Whether this MailSettings enables sandbox mode.
        :type value: SandBoxMode
        Nr   r   r   r   r   r   µ   s    c                 C   s   | j S )z`How this MailSettings requests email to be checked for spam.

        :rtype: SpamCheck
        ©r	   r   r   r   r   r   ¾   s    zMailSettings.spam_checkc                 C   s
   || _ dS )zÎHow this MailSettings requests email to be checked for spam.

        :param value: How this MailSettings requests email to be checked
                      for spam.
        :type value: SpamCheck
        Nr    r   r   r   r   r   Æ   s    c                 C   sÈ   i }| j dk	r| j  ¡ |d< | jdk	r4| j ¡ |d< | jdk	rL| j ¡ |d< | jdk	rd| j ¡ |d< | jdk	r|| j ¡ |d< | jdk	r”| j ¡ |d< | jdk	r¬| j ¡ |d< | jdk	rÄ| j ¡ |d	< |S )
z£
        Get a JSON-ready representation of this MailSettings.

        :returns: This MailSettings, ready for use in a request body.
        :rtype: dict
        NZbccr   r   r   r   Úfooterr   r   )	r
   Úgetr   r   r   r   r   r   r   )r   Zmail_settingsr   r   r   r"   Ð   s<    

ÿÿ
ÿÿ
ÿÿ
ÿÿ


zMailSettings.get)NNNNNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr
   Úsetterr   r   r   r   r   r   r   r"   r   r   r   r   r      sV           ø
C















	r   N)Úobjectr   r   r   r   r   Ú<module>   ó    