����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib64
/
python3.8
/
email
/
__pycache__
/
Filename :
message.cpython-38.opt-2.pyc
back
Copy
U ����e5d�����������������������@���s����d�dgZ�ddlZddlZddlZddlmZmZ�ddlmZ�ddlm Z �ddl mZmZ�ddlm Z�dd lmZ�ejZd Ze�d�Zdd ��Zddd�Zdd��Zdd��ZG�dd���d��ZG�dd��de�ZG�dd��de�ZdS�)�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����%/usr/lib64/python3.8/email/message.py�_splitparam���s����r���Tc�����������������C���s����|d�k 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�d�S�) Nr����*���������%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���s����dt�|���}�g�}|�d�d��dkr�|�dd���}�|��d�}|dkrp|��dd|�|��dd|��d�rp|��d|d��}q6|dk�r�t|��}|�d�|��}d|kr�|�d�}|d�|��������d�||d�d�������}|�|�����|�|d���}�q|S�)Nr ���r���r����"z\"r����=)r����find�countr����indexr����lower�append)�sZplist�end�f�ir���r���r����_parseparamI���s ���� ( ,r3���c�����������������C���s4���t�|�t�r&|�d�|�d�t�|�d��fS�t�|��S�d�S�)Nr���r���r���)r���r ���r����unquote)r&���r���r���r���� _unquotevalue]���s���� r5���c�������������������@���s���e�Zd�Zefdd�Zdd��Zdcdd �Zd d��Zdddd �Zdd��Z dd��Z dd��Zdd��Zdedd�Z dfdd�Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zdgd0d1�Zd2d3��Zd4d5��Zdhd6d7�Zd8d9��Zd:d;��Zd<d=��Z d>d?��Z!d@dA��Z"dBdC��Z#dDdE��Z$dFdG��Z%didJdK�Z&djdLdM�Z'dkdPdQ�Z(dldRdS�Z)dmdTdU�Z*dndVdW�Z+dodXdY�Z,dZd[��Z-dpd\d]�Z.dqd^d_�Z/d`da��Z0ddbl1m2Z2�dS�)rr���c�����������������C���s:���||�_�g�|�_d�|�_d�|�_d�|�_d��|�_|�_g�|�_d|�_d�S�)N� text/plain) �policy�_headers� _unixfrom�_payload�_charsetZpreambleZepilogue�defects� _default_type)�selfr7���r���r���r����__init__x���s����zMessage.__init__c�����������������C���s���|�����S��N)� as_string�r>���r���r���r����__str__����s����zMessage.__str__Fr���Nc�����������������C���sJ���ddl�m}�|d�kr|�jn|}t��}||d||d�}|j|�|d��|���S�)Nr���)� GeneratorF)�mangle_from_�maxheaderlenr7�����unixfrom)�email.generatorrD���r7���r����flatten�getvalue)r>���rH���rF���r7���rD����fp�gr���r���r���rA�������s�����zMessage.as_stringc�����������������C���s���|�����S�r@���)�as_bytesrB���r���r���r���� __bytes__����s����zMessage.__bytes__c�����������������C���sH���ddl�m}�|d�kr|�jn|}t��}||d|d�}|j|�|d��|���S�)Nr���)�BytesGeneratorF)rE���r7���rG���)rI���rP���r7���r���rJ���rK���)r>���rH���r7���rP���rL���rM���r���r���r���rN�������s����zMessage.as_bytesc�����������������C���s���t�|�jt�S�r@���)r���r:����listrB���r���r���r����is_multipart����s����zMessage.is_multipartc�����������������C���s ���||�_�d�S�r@����r9���)r>���rH���r���r���r����set_unixfrom����s����zMessage.set_unixfromc�����������������C���s���|�j�S�r@���rS���rB���r���r���r����get_unixfrom����s����zMessage.get_unixfromc�����������������C���sF���|�j�d�kr|g|�_�n.z|�j��|��W�n�tk r@���td��Y�nX�d�S�)Nz=Attach is not valid on a message with a non-multipart payload)r:���r.����AttributeError� TypeError)r>����payloadr���r���r����attach����s���� zMessage.attachc�����������������C���s���|�����r(|rd�S�|d�kr|�jS�|�j|�S�|d�k rNt|�jt�sNtdt|�j����|�j}t|��dd�����}t|t�r�t � |�r�|�dd�}|s�z|�|�� dd�d�}W�q��tk r����|�dd�}Y�q�X�n2|r�z|�d�}W�n�tk r����|�d�}Y�nX�|�s|S�|d k�rt�|�S�|d k�rVtd�|�����\}}|D�]}|�j�|�|���q<|S�|dk�r�t|�} t��} ztj| | d d��| ���W�S��tjk �r����|�Y�S�X�t|t��r�|S�|S�)NzExpected list, got %szcontent-transfer-encodingr���r����surrogateescaper����replace�raw-unicode-escapezquoted-printable�base64�����)z x-uuencodeZuuencodeZuuezx-uueT)�quiet)rR���r:���r���rQ���rW����typer����getr-���r���Z_has_surrogatesr!����decode� get_param�LookupError�UnicodeError�quopriZdecodestringr����join� splitlinesr7���Z handle_defectr����uurK����Error)r>���r2���rb���rX����cteZbpayloadr&���r<���ZdefectZin_fileZout_filer���r���r����get_payload����sV����" zMessage.get_payloadc�����������������C���sp���t�|d�r:|d�kr||�_d�S�t|t�s.t|�}|�|j�}t�|d�rT|�dd�|�_n||�_|d�k rl|��|��d�S�)Nr!���rb���r���rZ���)�hasattrr:���r����Charsetr!����output_charsetrb����set_charset)r>���rX���r���r���r���r����set_payload/��s���� zMessage.set_payloadc�����������������C���s��|d�kr|���d��d�|�_d�S�t|t�s.t|�}||�_d|�krH|��dd��d|�krf|�jdd|���d��n|��d|�����||���kr�|�|�j�|�_d|�k�r|� ��}z||���W�nj�t k �r���|�j}|r�z|�dd �}W�n �tk r����|�|j �}Y�nX�|�|�|�_|��d|��Y�nX�d�S�) Nr����MIME-Version�1.0�Content-Typer6���r ���zContent-Transfer-Encodingr���rZ���)� del_paramr;���r���rn���� add_headerZget_output_charset� set_paramZbody_encoder:���Zget_body_encodingrW���r!���re���ro���)r>���r���rk���rX���r���r���r���rp���C��s:���� � zMessage.set_charsetc�����������������C���s���|�j�S�r@���)r;���rB���r���r���r����get_charsetr��s����zMessage.get_charsetc�����������������C���s ���t�|�j�S�r@���)r���r8���rB���r���r���r����__len__z��s����zMessage.__len__c�����������������C���s ���|���|�S�r@���)ra����r>����namer���r���r����__getitem__~��s���� zMessage.__getitem__c�����������������C���sr���|�j��|�}|rX|���}d}|�jD�]4\}}|���|kr"|d7�}||kr"td�||���q"|�j�|�j��||���d�S�)Nr���r���z/There may be at most {} {} headers in a message)r7���Zheader_max_countr-���r8���� ValueError�formatr.����header_store_parse)r>���r{����valZ max_countZlname�found�k�vr���r���r����__setitem__���s������zMessage.__setitem__c�����������������C���s@���|����}g�}|�jD�]"\}}|����|kr|�||f��q||�_d�S�r@���)r-���r8���r.���)r>���r{���� newheadersr����r����r���r���r����__delitem__���s����zMessage.__delitem__c�����������������C���s���|����dd��|�jD��kS�)Nc�����������������S���s���g�|�]\}}|�����qS�r���)r-�����.0r����r����r���r���r���� <listcomp>���s�����z(Message.__contains__.<locals>.<listcomp>)r-���r8���rz���r���r���r����__contains__���s����zMessage.__contains__c�����������������c���s���|�j�D�]\}}|V��qd�S�r@����r8���)r>���Zfieldr&���r���r���r����__iter__���s����zMessage.__iter__c�����������������C���s���dd��|�j�D��S�)Nc�����������������S���s���g�|�]\}}|�qS�r���r���r����r���r���r���r�������s�����z Message.keys.<locals>.<listcomp>r����rB���r���r���r����keys���s����zMessage.keysc��������������������s�����fdd���j�D��S�)Nc��������������������s���g�|�]\}}��j��||��qS�r����r7����header_fetch_parser����rB���r���r���r�������s����z"Message.values.<locals>.<listcomp>r����rB���r���rB���r����values���s���� �zMessage.valuesc��������������������s�����fdd���j�D��S�)Nc��������������������s"���g�|�]\}}|��j��||�f�qS�r���r����r����rB���r���r���r�������s����z!Message.items.<locals>.<listcomp>r����rB���r���rB���r����items���s���� �z Message.itemsc�����������������C���s:���|����}|�jD�]&\}}|����|kr|�j�||���S�q|S�r@���)r-���r8���r7���r����)r>���r{����failobjr����r����r���r���r���ra������s ����zMessage.getc�����������������C���s���|�j��||f��d�S�r@���)r8���r.���)r>���r{���r&���r���r���r����set_raw���s����zMessage.set_rawc�����������������C���s���t�|�j����S�r@���)�iterr8����copyrB���r���r���r���� raw_items���s����zMessage.raw_itemsc�����������������C���sH���g�}|����}|�jD�](\}}|����|kr|�|�j�||���q|sD|S�|S�r@���)r-���r8���r.���r7���r����)r>���r{���r����r����r����r����r���r���r����get_all���s���� zMessage.get_allc�����������������K���sp���g�}|����D�]<\}}|d�kr0|�|�dd���q|�t|�dd�|���q|d�k r^|�d|��t�|�|�|<�d�S�)N�_�-r���)r����r.���r[���r'����insert� SEMISPACErg���)r>����_name�_valueZ_params�partsr����r����r���r���r���rv�����s����zMessage.add_headerc�����������������C���s\���|����}ttt|�j��|�j�D�]0\}\}}|����|kr|�j�||�|�j|<��qXqt|��d�S�r@���)r-����zip�ranger���r8���r7���r����KeyError)r>���r����r����r2���r����r����r���r���r����replace_header!��s����"zMessage.replace_headerc�����������������C���sH���t���}|��d|�}||kr"|����S�t|�d����}|�d�dkrDdS�|S�)N�content-typer����/r���r6���)�objectra����get_default_typer���r-���r+���)r>����missingr&����ctyper���r���r����get_content_type4��s���� zMessage.get_content_typec�����������������C���s���|�����}|�d�d�S�)Nr����r����r�����split�r>���r����r���r���r����get_content_maintypeL��s����zMessage.get_content_maintypec�����������������C���s���|�����}|�d�d�S�)Nr����r���r����r����r���r���r����get_content_subtypeU��s����zMessage.get_content_subtypec�����������������C���s���|�j�S�r@����r=���rB���r���r���r���r����^��s����zMessage.get_default_typec�����������������C���s ���||�_�d�S�r@���r����r����r���r���r����set_default_typeg��s����zMessage.set_default_typec����������� ��� ���C���s����t���}|��||�}||kr|S�g�}t|�D�]X}z$|�dd�\}}|���}|���}W�n �tk rr���|���}d}Y�nX�|�||f��q*t�|�}|S�)Nr)���r���r���) r����ra���r3���r����r���r}���r.���r���Z decode_params) r>���r�����headerr����r&����params�pr{���r����r���r���r����_get_params_preservep��s ���� zMessage._get_params_preserver����Tc�����������������C���s8���t���}|��||�}||kr|S�|r0dd��|D��S�|S�d�S�)Nc�����������������S���s���g�|�]\}}|t�|�f�qS�r���)r5���r����r���r���r���r�������s�����z&Message.get_params.<locals>.<listcomp>)r����r����)r>���r����r����r4���r����r����r���r���r���� get_params���s���� zMessage.get_paramsc�����������������C���sN���||�kr|S�|���||�D�]0\}}|���|���kr|r@t|���S�|��S�q|S�r@���)r����r-���r5���)r>���r���r����r����r4���r����r����r���r���r���rc������s���� zMessage.get_paramrt���r���c�����������������C���s ��t�|t�s|r|||f}||�kr2|���dkr2d}n |��|�}|�j||d�st|s\t|||�}q�t�|t|||�g�}nbd}|�j||d�D�]N\} } d}| ���|���kr�t|||�}nt| | |�}|s�|}q�t�||g�}q�||��|�k�r|r�|�� ||��n|�|=�||�|<�d�S�)Nr����r6���)r����r����r����r4���) r���r ���r-���ra���rc���r'���r����rg���r����r����)r>���r���r&���r�����requoter���Zlanguager[���r����Z old_param� old_valueZappend_paramr���r���r���rw������s6���� ��zMessage.set_paramc�����������������C���s����||�krd�S�d}|�j�||d�D�]@\}}|���|���kr|sHt|||�}qt�|t|||�g�}q||��|�kr||�|=�||�|<�d�S�)Nr���r����)r����r-���r'���r����rg���ra���)r>���r���r����r����Z new_ctyper����r����r���r���r���ru������s���� �zMessage.del_paramc�����������������C���s����|��d�dkst�|���dkr,|�d=�d|�d<�||�kr@||�|<�d�S�|�j||d�}|�|=�||�|<�|dd���D�]\}}|��||||��qhd�S�)Nr����r���r����zmime-versionrs���rr���r����)r+���r}���r-���r����rw���)r>���r`���r����r����r����r����r����r���r���r����set_type��s����zMessage.set_typec�����������������C���sD���t���}|��d|d�}||kr*|��d|d�}||kr6|S�t�|����S�)N�filename�content-dispositionr{���r����)r����rc���r����collapse_rfc2231_valuer���)r>���r����r����r����r���r���r����get_filename&��s����zMessage.get_filenamec�����������������C���s,���t���}|��d|�}||kr|S�t�|����S�)N�boundary)r����rc���r���r�����rstrip)r>���r����r����r����r���r���r����get_boundary6��s ����zMessage.get_boundaryc�����������������C���s��t���}|��|d�}||kr$t�d��g�}d}|D�]:\}}|���dkr\|�dd|�f��d}q0|�||f��q0|s�|�dd|�f��g�}|�jD�]z\} } | ���dkr�g�}|D�].\}} | dkr�|�|��q�|�d|| f���q�t�|�} |�|�j � | | ���q�|�| | f��q�||�_d�S�) Nr����zNo Content-Type header foundFr����z"%s"Tr���r���)r����r����r���ZHeaderParseErrorr-���r.���r8���r����rg���r7���r���)r>���r����r����r����Z newparamsZfoundpZpkZpvr�����hr����r����r����r����r���r���r����set_boundaryC��s2���� zMessage.set_boundaryc�������������� ���C���s����t���}|��d|�}||kr|S�t|t�rr|d�p2d}z|d��d�}t||�}W�n �ttfk rp���|d�}Y�nX�z|�d��W�n�tk r����|�Y�S�X�|���S�)Nr���r���zus-asciir���r\���) r����rc���r���r ���r!���r���rd���re���r-���)r>���r����r����r���ZpcharsetrN���r���r���r����get_content_charsetq��s ���� zMessage.get_content_charsetc��������������������s�����fdd�|�����D��S�)Nc��������������������s���g�|�]}|������qS�r���)r����)r�����part�r����r���r���r�������s�����z(Message.get_charsets.<locals>.<listcomp>��walk)r>���r����r���r����r����get_charsets���s����zMessage.get_charsetsc�����������������C���s*���|���d�}|d�krd�S�t|�d����}|S�)Nr����r���)ra���r���r-���)r>���r&����c_dr���r���r����get_content_disposition���s ���� zMessage.get_content_dispositionr����)Fr���N)FN)NF)N)N)N)Nr����T)Nr����T)rt���TNr���F)r����T)rt���T)N)N)N)N)3�__name__� __module__�__qualname__r ���r?���rC���rA���rO���rN���rR���rT���rU���rY���rl���rq���rp���rx���ry���r|���r����r����r����r����r����r����r����ra���r����r����r����rv���r����r����r����r����r����r����r����r����rc���rw���ru���r����r����r����r����r����r����r����Zemail.iteratorsr����r���r���r���r���r���i���sh��� Z / ��� "������� 3 . c�����������������������s����e�Zd�Zd2dd�Zd3��fdd� Zdd��Zd d ��Zdd��Zd4dd�ZddddhZ dd��Z dd��Zdd�dd�Zdd�dd�Z dd��Zd5dd �Zd6d!d"�Zd7d#d$�Zdd%�d&d'�Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zd0d1��Z���ZS�)8�MIMEPartNc�����������������C���s(���|d�krddl�m}�|}t�|�|��d�S�)Nr���)�default)Zemail.policyr����r���r?���)r>���r7���r����r���r���r���r?������s����zMIMEPart.__init__Fc��������������������s0���|d�kr|�j�n|}|d�kr |j}t��j||d�S�)N)rF���r7���)r7���Zmax_line_length�superrA���)r>���rH���rF���r7����� __class__r���r���rA������s����zMIMEPart.as_stringc�����������������C���s���|�j�|�jjdd�d�S�)NT)�utf8�r7���)rA���r7���ZclonerB���r���r���r���rC������s����zMIMEPart.__str__c�����������������C���s ���|���d�}|d�krdS�|jdkS�)Nr����F� attachment)ra���Zcontent_disposition)r>���r����r���r���r���� is_attachment���s���� zMIMEPart.is_attachmentc����������� ������c���s��|����rd�S�|����d�\}}|dkrB||kr>|�|�|fV��d�S�|dkrNd�S�|dkrz|���D�]}|��||�E�d�H��q^d�S�d|kr�|�d�|fV��d�}|�d�}|r�|���D�]}|d�|kr�|}�q�q�|d�kr�|���}|r�|d�nd�}|d�k �r|��||�E�d�H��d�S�)Nr�����text� multipart�related�start� content-idr���)r����r����r����r,���� iter_parts� _find_bodyrc���rl���) r>���r�����preferencelist�maintype�subtypeZsubpart� candidater����Zsubpartsr���r���r���r�������s6���� zMIMEPart._find_body�r�����html�plainc�����������������C���sB���t�|�}d�}|��|�|�D�]$\}}||k�r|}|}|dkr�q>q|S�)Nr���)r���r����)r>���r����Z best_prioZbodyZprior����r���r���r����get_body���s���� zMIMEPart.get_body)r����r����)r����r����)r����r����)r�����alternativec����������� ������c���s$��|������d�\}}|dks"|dkr&d�S�|����}z|���}W�n�tk rP���Y�d�S�X�|dkr�|dkr�|��d�}|r�d}g�}|D�]"}|�d�|kr�d}q||�|��q||r�|E�d�H��d�S�|�d ��|E�d�H��d�S�g�} |D�]L}|�����d�\}}||f|�j k�r|� ���s|| k�r| �|��q�|V��q�d�S�) Nr����r����r����r����r����Fr����Tr���)r����r����rl���r����rV���rc���ra���r.����pop�_body_typesr����) r>���r����r����rX���r����r����r����Zattachmentsr�����seenr���r���r����iter_attachments��sD���� �� zMIMEPart.iter_attachmentsc�����������������c���s���|�����dkr|����E�d�H��d�S�)Nr����)r����rl���rB���r���r���r���r����=��s����zMIMEPart.iter_parts)�content_managerc����������������O���s"���|d�kr|�j�j}|j|�f|�|�S�r@���)r7���r�����get_content�r>���r�����args�kwr���r���r���r����E��s����zMIMEPart.get_contentc����������������O���s&���|d�kr|�j�j}|j|�f|�|��d�S�r@���)r7���r�����set_contentr����r���r���r���r����J��s����zMIMEPart.set_contentc����������� ������C���s����|�����dkr6|����}||f�}||kr6td�||���g�}g�}|�jD�]4\}}|����d�rj|�||f��qD|�||f��qD|r�t|��|�j d�} || _|�j | _ | g|�_ ng�|�_ ||�_d|�|�d<�|d�k r�|��d|��d�S�)Nr����zCannot convert {} to {}�content-r����z multipart/rt���r����)r����r����r}���r~���r8���r-���� startswithr.���r`���r7���r:���rw���) r>���r����Zdisallowed_subtypesr����Zexisting_subtypeZkeep_headersZpart_headersr{���r&���r����r���r���r����_make_multipartO��s0���� �� zMIMEPart._make_multipartc�����������������C���s���|���dd|��d�S�)Nr����)r�����mixed�r�����r>���r����r���r���r����make_relatedj��s����zMIMEPart.make_relatedc�����������������C���s���|���dd|��d�S�)Nr����)r����r����r����r���r���r����make_alternativem��s����zMIMEPart.make_alternativec�����������������C���s���|���dd|��d�S�)Nr����r���r����r����r���r���r���� make_mixedp��s����zMIMEPart.make_mixed)�_dispc����������������O���sf���|�����dks|����|kr(t|�d|�����t|��|�jd�}|j||��|rXd|krX||d<�|��|��d�S�)Nr����Zmake_r����r����zContent-Disposition)r����r�����getattrr`���r7���r����rY���)r>���Z_subtyper����r����r����r����r���r���r����_add_multiparts��s���� �zMIMEPart._add_multipartc�����������������O���s���|�j�d|�ddi|���d�S�)Nr����r����Zinline)r�����r�����r>���r����r����r���r���r����add_related}��s����zMIMEPart.add_relatedc�����������������O���s���|�j�d|�|��d�S�)Nr����)r����r����r����r���r���r����add_alternative���s����zMIMEPart.add_alternativec�����������������O���s���|�j�d|�ddi|���d�S�)Nr����r����r����)r����r����r����r���r���r����add_attachment���s����zMIMEPart.add_attachmentc�����������������C���s���g�|�_�d�|�_d�S�r@����r8���r:���rB���r���r���r����clear���s����zMIMEPart.clearc�����������������C���s���dd��|�j�D��|�_�d�|�_d�S�)Nc�����������������S���s&���g�|�]\}}|�����d��s||f�qS�)r����)r-���r����)r�����nr����r���r���r���r�������s�����z*MIMEPart.clear_content.<locals>.<listcomp>r��rB���r���r���r���� clear_content���s����zMIMEPart.clear_content)N)FNN)r����)N)N)N)r����r����r����r?���rA���rC���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r���r��r��r��� __classcell__r���r���r����r���r�������s2��� �7 r����c�����������������������s���e�Zd�Z��fdd�Z���ZS�)r���c��������������������s"���t���j||��d|�krd|�d<�d�S�)Nrr���rs���)r����r����r����r����r���r���r�������s����zEmailMessage.set_content)r����r����r����r����r��r���r���r����r���r������s���)NT)�__all__�reri���rf����ior���r���Zemailr���r���Zemail._policybaser���r ���r���r;���Zemail._encoded_wordsr���rn���r�����compiler#���r���r'���r3���r5���r���r����r���r���r���r���r����<module>���s4��� "������N�`