Mini Shell
U
��eg� � @ s� d Z ddgZddlZddlZddlZddlmZmZ ddlm Z ddlm
Z
ddlmZm
Z
dd lmZ dd
lmZ ejZdZe�d�Zd
d� Zddd�Zdd� Zdd� ZG dd� d�ZG dd� de�ZG dd� de�ZdS )z8Basic message object for the email package object model.�Message�EmailMessage� N)�BytesIO�StringIO)�utils)�errors)�Policy�compat32��charset)�decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]c C s4 t | ��d�\}}}|s$|�� d fS |�� |�� fS )N�;)�str� partition�strip)�param�a�sep�b� r �,/opt/cppython/lib/python3.8/email/message.py�_splitparam s r Tc C s� |dk r�t |�dkr�t|t�rL| d7 } t�|d |d |d �}d| |f S z|�d� W n6 tk
r� | d7 } t�|dd �}d| |f Y S X |s�t�|�r�d
| t� |�f S d| |f S n| S dS )a~ Convenience function to format and return a key=value pair.
This will quote the value if needed or if quote is true. If value is a
three tuple (charset, language, value), it will be encoded according
to RFC2231 rules. If it contains non-ascii characters it will likewise
be encoded according to RFC2231 rules, using the utf-8 charset and
a null language.
Nr �*� � �%s=%s�asciizutf-8� z%s="%s")
�len�
isinstance�tupler Zencode_rfc2231�encode�UnicodeEncodeError� tspecials�search�quote)r �valuer% r r r �_formatparam'