관리-도구
편집 파일: message.cpython-35.opt-2.pyc
���]β � @ s6 d g Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z e j Z d Z e j d � Z d d � Z d d d d � Z d d � Z d d � Z Gd d � d � Z Gd d � d e � Z Gd d � d e � Z d S)�Message� N)�BytesIO�StringIO)�utils)�errors)�compat32)�charset)�decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]c C sJ t | � j d � \ } } } | s4 | j � d f S| j � | j � f S)N�;)�str� partition�strip)�param�a�sep�b� r �,/opt/alt/python35/lib64/python3.5/message.py�_splitparam s r Tc C s� | d k r� t | � d k r� t | t � rf | d 7} t j | d | d | d � } d | | f Sy | j d � Wn? t k r� | d 7} t j | d d � } d | | f SYn X| s� t j | � r� d | t j | � f Sd | | f Sn | Sd S) Nr �*� � z%s=%s�asciizutf-8� z%s="%s") �len� isinstance�tupler Zencode_rfc2231�encode�UnicodeEncodeError� tspecials�search�quote)r �valuer! r r r �_formatparam( s ! r# c C sI d t | � } g } x,| d d � d k rD| d d � } | j d � } xR | d k r� | j d d | � | j d d | � d r� | j d | d � } qQ W| d k r� t | � } | d | � } d | k r| j d � } | d | � j � j � d | | d d � j � } | j | j � � | | d � } q W| S)Nr r r �"z\"r �=)r �find�countr �indexr �lower�append)�sZplist�end�f�ir r r �_parseparamJ s ;8r/ c C sB t | t � r1 | d | d t j | d � f St j | � Sd S)Nr r r )r r r �unquote)r"