관리-도구
편집 파일: contentmanager.cpython-39.opt-2.pyc
a �����DOg;)����������������������@���s.��d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�G�dd��d�Ze��Zd%dd�Ze� de��d d ��Z d���D�]Ze� ee ��qfdd ��Z d���D�]Ze� de�e ��q�dd��Ze� de��dd��Zdd��Zdd��Zdd��Zd&dd�Ze�ee��d'd d!�Ze�ejje��d(d#d$�ZeeefD�]Ze�ee���qdS�))�����N)� quoprimimec�������������������@���s<���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd S�)�ContentManagerc�����������������C���s���i�|�_�i�|�_d�S��N)�get_handlers�set_handlers)�self��r����,/usr/lib64/python3.9/email/contentmanager.py�__init__ ���s����zContentManager.__init__c�����������������C���s���||�j�|<�d�S�r���)r���)r����key�handlerr���r���r ����add_get_handler ���s����zContentManager.add_get_handlerc�����������������O���s����|����}||�jv�r.|�j|�|g|�R�i�|��S�|���}||�jv�r\|�j|�|g|�R�i�|��S�d|�jv�r�|�jd�|g|�R�i�|��S�t|��d�S�)N��)Zget_content_typer����get_content_maintype�KeyError)r����msg�args�kwZcontent_type�maintyper���r���r ����get_content���s���� zContentManager.get_contentc�����������������C���s���||�j�|<�d�S�r���)r���)r���Ztypekeyr���r���r���r ����add_set_handler���s����zContentManager.add_set_handlerc�����������������O���sD���|����dkrtd��|��||�}|����|||g|�R�i�|���d�S�)NZ multipartz"set_content not valid on multipart)r���� TypeError�_find_set_handlerZ clear_content)r���r����objr���r���r���r���r���r ����set_content���s ����zContentManager.set_contentc����������� ������C���s����d�}t�|�jD�]�}||�jv�r*|�j|���S�|j}t|dd�}|rNd�||f�n|}|d�u�r^|}||�jv�rv|�j|���S�||�jv�r�|�j|���S�|j}||�jv�r|�j|���S�qd�|�jv�r�|�jd��S�t|��d�S�)N� __module__r����.)�type�__mro__r����__qualname__�getattr�join�__name__r���) r���r���r���Zfull_path_for_error�typZqname�modname� full_path�namer���r���r ���r���'���s&���� z ContentManager._find_set_handlerN) r"���r���r���r ���r ���r���r���r���r���r���r���r���r ���r������s��� r����replacec�����������������C���s&���|�j�dd�}|��dd�}|j||d�S�)NT��decode�charset�ASCII)�errors)�get_payloadZ get_paramr)���)r���r,���Zcontentr*���r���r���r ����get_text_content@���s����r.����textc�����������������C���s���|�j�dd�S�)NTr(����r-����r���r���r���r ����get_non_text_contentG���s����r2���zaudio image video applicationc�����������������C���s ���|���d�S��Nr���r0���r1���r���r���r ����get_message_contentM���s����r4���zrfc822 external-bodyzmessage/c�����������������C���s���t�|��d��S�r3���)�bytesr-���r1���r���r���r ����%get_and_fixup_unknown_message_contentS���s����r6����messagec�������������� ������s����d��||f�|�d<�|r�t|d�d�s<|�j����fdd�|D��}z(|D�]}|jrV|jd��||�|j<�qBW�nB�tjjy��}�z&td� |j |�jd���|�W�Y�d�}~n d�}~0�0�d�S�) N�/zContent-Typer���r&���c��������������������s���g�|�]}��j����|g����qS�r���)Zheader_factoryZheader_source_parse)�.0�header��mpr���r ���� <listcomp>d���s����z _prepare_set.<locals>.<listcomp>zInvalid header: {})�policy)r!����hasattrr>���Zdefectsr&����emailr,���ZHeaderDefect� ValueError�formatZfold)r���r����subtype�headersr:����excr���r;���r ����_prepare_set_���s$���� � ��rF���c�����������������C���sx���|d�u�r|d�urd}|d�ur$||�d<�|d�ur>|�j�d|ddd��|d�urN||�d<�|d�urt|���D�]\}}|���||��q^d�S�)NZ attachmentzContent-Disposition�filenameT)r:���r'���z Content-ID)� set_param�items)r����dispositionrG����cid�paramsr����valuer���r���r ���� _finalize_setp���s�����rN���c�����������������C���sV���g�}|d�d�}t�dt|��|�D�]*}|�|||���}|�t�|��d���q d�|�S�)N��������r����asciir���)�range�len�append�binascii� b2a_base64r)���r!���)�data�max_line_lengthZ encoded_linesZunencoded_bytes_per_line�iZthisliner���r���r ����_encode_base64����s����rZ���c��������������������s���|���|����}|j��d�����fdd�}dd��}|d�u�r�tdd��|D��dd �|jkr�zd ||��d�fW�S��tyx���Y�n0�|jdkr�d||��dd�fS�||d�d ���}t� |�d�|j�}t �|�} t|�t| �kr�d}nd}t|�d kr�||fS�|d k�r||��d�} nj|dk�r*||��dd�} nN|dk�rNt� ||��d�|j�} n*|dk�rjt ||�|j�} ntd�|���|| fS�)NrQ���c��������������������s�������|�����S�r����r!�����lines��linesepr���r ���� embedded_body���������z#_encode_text.<locals>.embedded_bodyc�����������������S���s���d��|��d�S�)N���� r[���r\���r���r���r ����normal_body����ra���z!_encode_text.<locals>.normal_bodyc�����������������s���s���|�]}t�|�V��qd�S�r���)rS���)r9����xr���r���r ���� <genexpr>����ra���z_encode_text.<locals>.<genexpr>r���)�default�7bit�8bit�surrogateescape� ���zlatin-1�base64�quoted-printablez$Unknown content transfer encoding {})�encode� splitlinesr_����maxrX���r)����UnicodeDecodeErrorZcte_typer���Zbody_encoderU���rV���rS���rZ���rA���rB���)�stringr*����cter>���r]���r`���rc���ZsniffZsniff_qpZsniff_base64rW���r���r^���r ����_encode_text����sD���� � � rs����plain�utf-8c �����������������C���sd���t�|�d|| ��t||||�j�\}} |��| ��|�jdtjj�||�dd��||�d<�t |�||||��d�S�)Nr/���r*���T)r'����Content-Transfer-Encoding) rF���rs���r>����set_payloadrH���r@���r*���ZALIASES�getrN���)r���rq���rC���r*���rr���rJ���rG���rK���rL���rD����payloadr���r���r ����set_text_content����s���� �rz����rfc822c ����������� ������C���s����|dkrt�d��|dkr@|dvr.t�d�|���|d�u�r:dn|}n0|dkrd|dvr^t�d �|���d }n|d�u�rpd }t|�d||��|��|g��||�d<�t|�||||��d�S�) N�partialz4message/partial is not supported for Message objectsr{���)Nrg���rh����binaryz*message/rfc822 parts do not support cte={}rh���z external-body)Nrg���z1message/external-body parts do not support cte={}rg���r7���rv���)rA���rB���rF���rw���rN���) r���r7���rC���rr���rJ���rG���rK���rL���rD���r���r���r ����set_message_content����s(������r~���rk���c ����������� ������C���s����t�|�||| ��|dkr(t||�jjd�}nN|dkrNtj|dddd�}|�d�}n(|dkrb|�d�}n|d v�rv|�dd �}|��|��||�d<�t|�||||��d�S�)Nrk���)rX���rl���FT)�istextr:���Z quotetabsrQ���rg���)rh���r}���ri���rv���) rF���rZ���r>���rX���rU���Zb2a_qpr)���rw���rN���) r���rW���r���rC���rr���rJ���rG���rK���rL���rD���r���r���r ����set_bytes_content����s���� r����)r'���)rt���ru���NNNNNN)r{���NNNNNN)rk���NNNNN)rU���Z email.charsetr@���Z email.messageZemail.errorsr���r���Zraw_data_managerr.���r ���r2����splitr���r4���rC���r6���rF���rN���rZ���rs���rz���r����strr~���r7���ZMessager����r5���� bytearray� memoryviewr#���r���r���r���r ����<module>���sL���6 � '���� ���� ����