OwlCyberSecurity - MANAGER
Edit File: contentmanager.cpython-36.pyc
3 � \�)������������������@���s:��d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�G�dd��d�Ze��Zd%dd�Zej de��d d ��Z xdj��D�]Zej ee ��qhW�dd ��Z x dj��D�]Zej de�e ��q�W�dd��Zej de��dd��Zdd��Zdd��Zdd��Zd&dd�Zejee��d'd d!�Zejejje��d(d#d$�Zx eeefD�]Zejee���q W�dS�))�����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.6/email/contentmanager.py�__init__ ���s����zContentManager.__init__c�������������C���s���||�j�|<�d�S�)N)r���)r����key�handlerr���r���r����add_get_handler ���s����zContentManager.add_get_handlerc�������������O���s|���|j���}||�jkr(|�j|�|f|�|�S�|j��}||�jkrP|�j|�|f|�|�S�d|�jkrp|�jd�|f|�|�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�)N)r���)r���Ztypekeyr���r���r���r����add_set_handler���s����zContentManager.add_set_handlerc�������������O���s>���|j���dkrtd��|�j||�}|j���|||f|�|��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�}x�t�|�jD�]�}||�jkr(|�j|�S�|j}t|dd�}|rLdj||f�n|}|d�kr\|}||�jkrp|�j|�S�||�jkr�|�j|�S�|j}||�jkr|�j|�S�qW�d�|�jkr�|�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�}|�jdd�}|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�)NT)r'���)r+���)r���r���r���r����get_non_text_contentG���s����r.���zaudio image video applicationc�������������C���s ���|�j�d�S�)Nr���)r+���)r���r���r���r����get_message_contentM���s����r/���zrfc822 external-bodyzmessage/c�������������C���s���t�|�jd��S�)Nr���)�bytesr+���)r���r���r���r����%get_and_fixup_unknown_message_contentS���s����r1����messagec����������������s����dj�||f�|�d<�|r�t|d�d�s<|�j����fdd�|D��}y,x&|D�]}|jrX|jd��||�|j<�qDW�W�n@�tjjk r��}�z tdj |j |�jd���|�W�Y�d�d�}~X�nX�d�S�) N�/zContent-Typer���r%���c����������������s���g�|�]}��j���j|g����qS�r���)Zheader_factoryZheader_source_parse)�.0�header)�mpr���r���� <listcomp>d���s���z _prepare_set.<locals>.<listcomp>zInvalid header: {})�policy)r ����hasattrr8���Zdefectsr%����emailr*���ZHeaderDefect� ValueError�formatZfold)r���r����subtype�headersr5����excr���)r6���r����_prepare_set_���s���� r@���c�������������C���s|���|d�kr|d�k rd}|d�k r$||�d<�|d�k r>|�j�d|ddd��|d�k rN||�d<�|d�k rxx |j��D�]\}}|�j�||��q`W�d�S�)NZ attachmentzContent-Disposition�filenameT)r5���r&���z Content-ID)� set_param�items)r����dispositionrA����cid�paramsr ����valuer���r���r���� _finalize_setp���s����rH���c�������������C���sZ���g�}|d�d�}x>t�dt|��|�D�]*}|�|||���}|jtj|�jd���q"W�dj|�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����rT���c����������������s|��|�j�|�j��}|jj�d�����fdd�}dd��}|d�kr�yd||�jd�fS��tk r\���Y�nX�|jdkr�tdd ��|D���|jkr�d||�jdd �fS�||d�d���}tj |jd�|j�}t j|�} t|�t| �kr�d }nd}t|�dkr�||fS�|dk�r ||�jd�} nj|dk�r&||�jdd �} nN|dk�rJtj ||�jd�|j�} n*|d k�rft ||�|j�} ntdj|���|| fS�)NrK���c����������������s�����j�|�����S�)N)r ���)�lines)�linesepr���r���� embedded_body����s����z#_encode_text.<locals>.embedded_bodyc�������������S���s���dj�|��d�S�)N���� )r ���)rU���r���r���r����normal_body����s����z!_encode_text.<locals>.normal_body�7bit�8bitc�������������s���s���|�]}t�|�V��qd�S�)N)rM���)r4����xr���r���r���� <genexpr>����s����z_encode_text.<locals>.<genexpr>�surrogateescape� ���zlatin-1�base64zquoted-printablez$Unknown content transfer encoding {})�encode� splitlinesrV���r'����UnicodeDecodeErrorZcte_type�maxrR���r���Zbody_encoderO���rP���rM���rT���r;���r<���)�stringr(����cter8���rU���rW���rY���ZsniffZsniff_qpZsniff_base64rQ���r���)rV���r����_encode_text����s@���� rg����plain�utf-8c �������������C���sd���t�|�d|| ��t||||�j�\}} |�j| ��|�jdtjjj||�dd��||�d<�t |�||||��d�S�)Nr-���r(���T)r&���zContent-Transfer-Encoding) r@���rg���r8����set_payloadrB���r:���r(���ZALIASES�getrH���)r���re���r=���r(���rf���rD���rA���rE���rF���r>���Zpayloadr���r���r����set_text_content����s���� rl����rfc822c ������� ������C���s����|dkrt�d��|dkr@|dkr.t�dj|���|d�kr:dn|}n0|dkrd|d kr^t�d j|���d}n|d�krpd}t|�d ||��|�j|g��||�d<�t|�||||��d�S�)N�partialz4message/partial is not supported for Message objectsrm���rZ���r[����binaryz*message/rfc822 parts do not support cte={}z external-bodyz1message/external-body parts do not support cte={}r2���zContent-Transfer-Encoding)NrZ���r[���ro���)NrZ���)r;���r<���r@���rj���rH���) r���r2���r=���rf���rD���rA���rE���rF���r>���r���r���r����set_message_content����s$����rp���r`���c ������� ������C���s����t�|�||| ��|dkr(t||�jjd�}nN|dkrNtj|dddd�}|jd�}n(|dkrb|jd��n|d krv|jdd�}|�j|��||�d<�t |�||||��d�S�)Nr`���)rR���zquoted-printableFT)�istextr5���Z quotetabsrK���rZ���r[���ro���r^���zContent-Transfer-Encoding)r[���ro���) r@���rT���r8���rR���rO���Zb2a_qpr'���ra���rj���rH���) r���rQ���r���r=���rf���rD���rA���rE���rF���r>���r���r���r����set_bytes_content����s���� rr���)r&���)rh���ri���NNNNNN)rm���NNNNNN)r`���NNNNN)rO���Z email.charsetr:���Z email.messageZemail.errorsr���r���Zraw_data_managerr,���r���r.����splitr���r/���r=���r1���r@���rH���rT���rg���rl���r����strrp���r2���ZMessagerr���r0���� bytearray� memoryviewr"���r���r���r���r����<module>���sD���6 '�� �� ��