a
    W%b
                     @   s   d Z ddlmZ ddlmZ ddlmZ ddlmZ g dZzddlm	Z
 W n eyj   ddlmZ
 Y n0 ddlmZ d	d
 Zdd Zdd Zdd Zdd ZdS )z Encodings and related functions.    )unicode_literals)division)absolute_import)str)encode_7or8bitencode_base64encode_noopencode_quopri)encodebytes)encodestringc                 C   s   t | dd}|ddS )NT)	quotetabs z=20)_encodestringreplace)senc r   o/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/future/backports/email/encoders.py_qencode   s    r   c                 C   s,   |   }tt|d}| | d| d< dS )zlEncode the message's payload in Base64.

    Also, add an appropriate Content-Transfer-Encoding header.
    asciibase64Content-Transfer-EncodingN)get_payloadr   _bencodeset_payloadmsgorigencdatar   r   r   r   !   s    
r   c                 C   s&   |   }t|}| | d| d< dS )zvEncode the message's payload in quoted-printable.

    Also, add an appropriate Content-Transfer-Encoding header.
    zquoted-printabler   N)r   r   r   r   r   r   r   r	   ,   s    
r	   c                 C   s   |   }|du rd| d< dS z$t|tr4|d n
|d W nH ty   |  }|o^|j}|r|| 	dr|d| d< nd| d< Y n
0 d| d< t|ts| 
|dd dS )z9Set the Content-Transfer-Encoding header to 7bit or 8bit.N7bitr   r   z	iso-2022-8bitsurrogateescape)r   
isinstancer   encodedecodeUnicodeErrorget_charsetoutput_charsetlower
startswithr   )r   r   charsetZoutput_csetr   r   r   r   7   s"    



r   c                 C   s(   |   }t|ts$| |dd dS )zDo nothing.r   r!   N)r   r"   r   r   r$   )r   r   r   r   r   r   S   s    
r   N)__doc__
__future__r   r   r   Zfuture.builtinsr   __all__r   r
   r   ImportErrorr   quoprir   r   r   r	   r   r   r   r   r   r   <module>   s   