One Hat Cyber Team
Your IP :
3.144.8.165
Server IP :
103.133.214.160
Server :
Linux venus.ewebguru.net 4.18.0-553.30.1.el8_10.x86_64 #1 SMP Tue Nov 26 02:30:26 EST 2024 x86_64
Server Software :
Apache/2
PHP Version :
8.1.30
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
lib64
/
python3.6
/
__pycache__
/
View File Name :
mailbox.cpython-36.opt-2.pyc
3 � \ 3�����������������@���sN��d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dl Zd�dl Z d�dlZyd�dlZW�n�e k r����dZY�nX�dddddddd d ddd dddddgZe�jjd�ZG�dd��d�ZG�dd��de�ZG�dd��de�ZG�dd��de�ZG�dd��de�ZG�dd��de�ZG�dd��de�ZG�dd��de�ZG�dd��dejj�ZG�dd ��d e�ZG�d d!��d!e�ZG�d"d ��d e�ZG�d#d��de�ZG�d$d��de�ZG�d%d ��d e�Z G�d&d'��d'�Z!G�d(d)��d)e!�Z"d<d+d,�Z#d-d.��Z$d/d0��Z%d1d2��Z&d3d4��Z'd5d6��Z(G�d7d��de)�Z*G�d8d��de*�Z+G�d9d��de*�Z,G�d:d��de*�Z-G�d;d��de*�Z.dS�)=�����N�Mailbox�Maildir�mbox�MH�Babyl�MMDF�Message�MaildirMessage�mboxMessage� MHMessage�BabylMessage�MMDFMessage�Error�NoSuchMailboxError� NotEmptyError�ExternalClashError�FormatError�asciic���������������@���s��e�Zd�ZdBdd�Zdd��Zdd��Zd d ��Zdd��Zd d��ZdCdd�Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��ZdDd/d0�Zd1d2��ZdEd3d4�Zd5d6��Zd7d8��Zd9d:��Zd;d<��Zd=d>��Z d?Z!dFd@dA�Z"dS�)Gr���NTc�������������C���s ���t�jjt�jj|��|�_||�_d�S�)N)�os�path�abspath� expanduser�_path�_factory)�selfr����factory�create��r����/usr/lib64/python3.6/mailbox.py�__init__$���s����zMailbox.__init__c�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)�NotImplementedError)r����messager���r���r����add)���s����zMailbox.addc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r����keyr���r���r����remove-���s����zMailbox.removec�������������C���s���|�j�|��d�S�)N)r$���)r���r#���r���r���r����__delitem__1���s����zMailbox.__delitem__c�������������C���s(���y|�j�|��W�n�tk r"���Y�nX�d�S�)N)r$����KeyError)r���r#���r���r���r����discard4���s����zMailbox.discardc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r#���r!���r���r���r����__setitem__;���s����zMailbox.__setitem__c�������������C���s$���y |�j�|�S��tk r���|S�X�d�S�)N)�__getitem__r&���)r���r#����defaultr���r���r����get?���s���� zMailbox.getc���������� ���C���s6���|�j�s|�j|�S�tj|�j|���}|�j�|�S�Q�R�X�d�S�)N)r����get_message� contextlib�closing�get_file)r���r#����filer���r���r���r)���F���s���� zMailbox.__getitem__c�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r#���r���r���r���r,���N���s����zMailbox.get_messagec�������������C���s���t�j|�j|��j��S�)N)�email�message_from_bytes� get_bytes� as_string)r���r#���r���r���r���� get_stringR���s����zMailbox.get_stringc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r#���r���r���r���r3���Y���s����zMailbox.get_bytesc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r#���r���r���r���r/���]���s����zMailbox.get_filec�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r���r���r����iterkeysa���s����zMailbox.iterkeysc�������������C���s���t�|�j���S�)N)�listr6���)r���r���r���r����keyse���s����zMailbox.keysc�������������c���s@���x:|�j���D�].}y|�|�}W�n�tk r0���w Y�nX�|V��q W�d�S�)N)r6���r&���)r���r#����valuer���r���r���� itervaluesi���s����zMailbox.itervaluesc�������������C���s���|�j���S�)N)r:���)r���r���r���r����__iter__r���s����zMailbox.__iter__c�������������C���s���t�|�j���S�)N)r7���r:���)r���r���r���r����valuesu���s����zMailbox.valuesc�������������c���sD���x>|�j���D�]2}y|�|�}W�n�tk r0���w Y�nX�||fV��q W�d�S�)N)r6���r&���)r���r#���r9���r���r���r���� iteritemsy���s����zMailbox.iteritemsc�������������C���s���t�|�j���S�)N)r7���r=���)r���r���r���r����items����s����z Mailbox.itemsc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r#���r���r���r����__contains__����s����zMailbox.__contains__c�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r���r���r����__len__����s����zMailbox.__len__c�������������C���s ���x|�j���D�]}|�j|��q W�d�S�)N)r8���r'���)r���r#���r���r���r����clear����s����z Mailbox.clearc�������������C���s0���y|�|�}W�n�t�k r ���|S�X�|�j|��|S�)N)r&���r'���)r���r#���r*����resultr���r���r����pop����s���� zMailbox.popc�������������C���s*���x$|�j���D�]}||�j|�fS�W�td��d�S�)NzNo messages in mailbox)r6���rC���r&���)r���r#���r���r���r����popitem����s����zMailbox.popitemc�������������C���sx���t�|d�r|j��}nt�|d�r(|j��}n|}d}x6|D�].\}}y||�|<�W�q6�tk rb���d}Y�q6X�q6W�|rttd��d�S�)Nr=���r>���FTzNo message with key(s))�hasattrr=���r>���r&���)r����arg�sourceZbad_keyr#���r!���r���r���r����update����s���� zMailbox.updatec�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r���r���r����flush����s����z Mailbox.flushc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r���r���r����lock����s����zMailbox.lockc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r���r���r����unlock����s����zMailbox.unlockc�������������C���s���t�d��d�S�)Nz&Method must be implemented by subclass)r ���)r���r���r���r����close����s����z Mailbox.closec�������������C���s,���y |j�d�S��tk r&���td��Y�nX�d�S�)Nr���z?String input must be ASCII-only; use bytes or a Message instead)�encode�UnicodeError� ValueError)r���r!���r���r���r����_string_to_bytes����s���� zMailbox._string_to_bytesFc������� ������C���s��t�|tjj�rxtj��}tjj||d�}|j|��|j d��|j ��}|jdt�}|j |��|�jrt|jt��rt|j t���n�t�|tttjf��rt�|tj�r�tjdtd��|j��}t�|t�r�|�j|�}|r�|jdd�}|jdt�}|j |��|�jo�|jt���r�|j t��n�t|d��r�t|d��r4tjd td��|j}d�}x�|j��}|jd ��r`|d�d��d�}n|jd��r||d�d��d�}|�s�P�|�r�|jd��r�d|dd����}|jdt�}|j |��|}�q:W�|�j�r�|�r�|jt���r�|j t��ntdt|����d�S�)Nr������� z8Use of StringIO input is deprecated, use BytesIO instead����s��� From s��� >From �read�bufferzDUse of text mode files is deprecated, use a binary mode file insteads��� �������� ����s���From s���>From ����zInvalid message type: %s������)� isinstancer1���r!���r����io�BytesIO� generator�BytesGenerator�flatten�seekrS����replace�linesep�write�_append_newline�endswith�str�bytes�StringIO�warnings�warn�DeprecationWarning�getvaluerP���rE���rT����readline� startswith� TypeError�type) r���r!����targetZmangle_from_rT����gen�dataZlastline�liner���r���r���� _dump_message����sZ���� zMailbox._dump_message)NT)N)N)N)F)#�__name__� __module__�__qualname__r���r"���r$���r%���r'���r(���r+���r)���r,���r5���r3���r/���r6���r8���r:���r;���r<���r=���r>���r?���r@���rA���rC���rD���rH���rI���rJ���rK���rL���rP���re���rv���r���r���r���r���r���!���s@��� c���������������@���s����e�Zd�ZdZd5dd�Zdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,Zd-d.��Zd/d0��Zd1d2��Zd3d4��ZdS�)6r����:NTc�������������C���s����t�j|�|||��tjj|�jd�tjj|�jd�tjj|�jd�d�|�_tjj|�j�s�|r�tj|�jd��x*|�jj ��D�]}tj|d��qnW�n t |�j��i�|�_ddd�|�_d|�_ d|�_d�S�) N�tmp�new�cur)r{���r|���r}���i���r���)r}���r|���g�������?)r���r���r���r����joinr����_paths�exists�mkdirr<���r����_toc�_toc_mtimes� _last_read�_skewfactor)r����dirnamer���r���r���r���r���r���r��� ��s���� zMaildir.__init__c�������������C���s~��|�j���}y|�j||��W�n*�tk rB���|j���tj|j����Y�nX�t|��t|t �r||j ��}|�j|j���}||�jkr�d}nd}d}tj j|j�j|�j�d�}tj j|�j|||��}t|t �r�tj|jtj j|j�|j��f��yLytj|j|��W�n(�ttfk �r���tj|j|��Y�nX�tj|j��W�nN�tk �rx�}�z0tj|j��|jtjk�rftd|���n��W�Y�d�d�}~X�nX�|S�)N��r|���r���z$Name clash with existing message: %s)�_create_tmprv���� BaseExceptionrL���r���r$����name�_sync_closer[���r ���� get_subdir�colon�get_infor����basename�splitr~���r����utime�getatime�get_date�link�AttributeError�PermissionError�rename�OSError�errnoZEEXISTr���)r���r!���Ztmp_file�subdir�suffix�uniq�dest�er���r���r���r"���!��sB���� zMaildir.addc�������������C���s ���t�jt�jj|�j|�j|����d�S�)N)r���r$���r���r~���r����_lookup)r���r#���r���r���r���r$���K��s����zMaildir.removec�������������C���s,���y|�j�|��W�n�ttfk r&���Y�nX�d�S�)N)r$���r&����FileNotFoundError)r���r#���r���r���r���r'���O��s����zMaildir.discardc�������������C���s����|�j�|�}|�j|�}|�j�|�}t|t�r.|}n|}tjj|�}|�j|kr`|�j|j|�j�d��}nd}|�j |��tjj |�j|�} tjj |�j|||��} t|t�r�tj| tjj | �|j��f��tj| | ��d�S�)NrW���r����rZ���)r����r"���r[���r ���r���r���r����r����r����r'���r~���r���r����r����r����r����)r���r#���r!���Zold_subpathZtemp_keyZtemp_subpathZdominant_subpathr����r����Ztmp_path�new_pathr���r���r���r(���W��s"���� zMaildir.__setitem__c�������������C���s����|�j�|�}ttjj|�j|�d�� }|�jr4|�j|�}nt|�}W�d�Q�R�X�tjj|�\}}|j |��|�j |kr�|j|j|�j �d���|jtjj tjj|�j|����|S�)N�rbrW���rZ���)r�����openr���r���r~���r���r���r ���r����� set_subdirr�����set_info�set_date�getmtime)r���r#���Zsubpath�f�msgr����r����r���r���r���r,���r��s���� zMaildir.get_messagec���������� ���C���s8���t�tjj|�j|�j|��d��}|j��jtd�S�Q�R�X�d�S�)Nr����rQ���) r����r���r���r~���r���r����rS���rb���rc���)r���r#���r����r���r���r���r3������s����zMaildir.get_bytesc�������������C���s$���t�tjj|�j|�j|��d�}t|�S�)Nr����)r����r���r���r~���r���r����� _ProxyFile)r���r#���r����r���r���r���r/������s����zMaildir.get_filec�������������c���sH���|�j����x:|�jD�]0}y|�j|��W�n�tk r8���wY�nX�|V��qW�d�S�)N)�_refreshr����r����r&���)r���r#���r���r���r���r6������s����zMaildir.iterkeysc�������������C���s���|�j����||�jkS�)N)r����r����)r���r#���r���r���r���r?������s����zMaildir.__contains__c�������������C���s���|�j����t|�j�S�)N)r�����lenr����)r���r���r���r���r@������s����zMaildir.__len__c�������������C���s���d�S�)Nr���)r���r���r���r���rI������s����z Maildir.flushc�������������C���s���d�S�)Nr���)r���r���r���r���rJ������s����zMaildir.lockc�������������C���s���d�S�)Nr���)r���r���r���r���rK������s����zMaildir.unlockc�������������C���s���d�S�)Nr���)r���r���r���r���rL������s����z Maildir.closec�������������C���s`���g�}xVt�j|�j�D�]F}t|�dkr|d�dkrt�jjt�jj|�j|��r|j|dd�����qW�|S�)NrW���r����.)r����listdirr���r����r����isdirr~����append)r���rB����entryr���r���r����list_folders���s����zMaildir.list_foldersc�������������C���s ���t�tjj|�jd|��|�jdd�S�)Nr����F)r���r���)r���r���r���r~���r���r���)r����folderr���r���r���� get_folder���s����zMaildir.get_folderc�������������C���s\���t�jj|�jd|��}t||�jd�}t�jj|d�}t�jj|�sXt�jt�j|t�j t�j B�d���|S�)Nr����)r���Z maildirfolderi���)r���r���r~���r���r���r���r����rL���r�����O_CREAT�O_WRONLY)r���r����r���rB���Zmaildirfolder_pathr���r���r���� add_folder���s����zMaildir.add_folderc�������������C���s,��t�jj|�jd|��}xTt�jt�jj|d��t�jt�jj|d���D�](}t|�dk�sZ|d�dkr>td|���q>W�xPt�j|�D�]B}|dkrv|dkrv|dkrvt�jjt�jj||��rvtd||f���qvW�x`t�j|d d �D�]N\}}}x |D�]}t�j t�jj||���q�W�x |D�]}t�j t�jj||���q�W�q�W�t�j |��d�S�)Nr����r|���r}���rW���r���zFolder contains message(s): %sr{���z%Folder contains subdirectory '%s': %sF)�topdown)r���r���r~���r���r����r����r���r�����walkr$����rmdir)r���r����r���r�����root�dirs�filesr���r���r���� remove_folder���s ���� zMaildir.remove_folderc�������������C���s\���t�j���}xNtjtjj|�jd��D�]4}tjj|�jd|�}|tjj|��dkr tj|��q W�d�S�)Nr{���i@��)�timer���r����r���r~���r���r����r$���)r����nowr����r���r���r���r����clean���s ����z Maildir.cleanrW���c�������������C���s����t�j���}tj��}d|kr$|jdd�}d|kr8|jdd�}dt|�t|d�d��tj��tj|f�}tj j |�jd|�}ytj|��W�n@�t k r����t�jd7��_yt|�S��tk r����Y�nX�Y�nX�td |���d�S�) N�/z\057rz���z\072z%s.M%sP%sQ%s.%srW���g������.Ar{���z&Name clash prevented file creation: %s)r�����socket�gethostnamerb����intr����getpidr����_countr���r~���r����statr�����_create_carefully�FileExistsErrorr���)r���r����Zhostnamer����r���r���r���r���r�������s&����zMaildir._create_tmpc�������������C���s����t�j���|�j�d|�j�krbd}x<|�jD�]2}tjj|�j|��}||�j|�krLd}||�j|<�q$W�|sbd�S�i�|�_xl|�jD�]b}|�j|�}xRtj |�D�]D}tjj ||�}tjj|�r�q�|j|�j �d�}tjj ||�|�j|<�q�W�qpW�t�j���|�_d�S�)NrU���FTr���)r����r����r����r����r���r���r����r���r����r����r~���r����r����r����)r���Zrefreshr�����mtimer���r�����pr����r���r���r���r�������s&���� zMaildir._refreshc�������������C���sz���y,t�jjt�jj|�j|�j|���r*|�j|�S�W�n�tk r@���Y�nX�|�j���y |�j|�S��tk rt���td|���Y�nX�d�S�)NzNo message with key: %s)r���r���r����r~���r���r����r&���r����)r���r#���r���r���r���r����#��s���� zMaildir._lookupc�������������C���sV���t�|�d�s|�j��|�_x<y|�t|�j��S��tk r8���d�S��tk rL���wY�qX�qW�d�S�)N� _onetime_keys)rE���r6���r�����next� StopIterationr&���)r���r���r���r���r����1��s���� zMaildir.next)NT)rw���rx���ry���r����r���r"���r$���r'���r(���r,���r3���r/���r6���r?���r@���rI���rJ���rK���rL���r����r����r����r����r����r����r����r����r����r����r���r���r���r���r�����s4��� * $c���������������@���s����e�Zd�Zd#dd�Zdd��Zdd��Zd d ��Zdd��Zd d��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zd$dd �Zd!d"��ZdS�)%�_singlefileMailboxNTc�������������C���s����t�j|�|||��yt|�jd�}W�nn�tk r��}�zR|jtjkr\|rPt|�jd�}q~t|�j��n"|jtjtj fkr|t|�jd�}n��W�Y�d�d�}~X�nX�||�_ d�|�_d|�_d|�_ d|�_d|�_d�|�_d�S�)Nzrb+zwb+r����r���F)r���r���r����r���r����r�����ENOENTr����EACCES�EROFS�_filer����� _next_key�_pending� _pending_sync�_locked�_file_length)r���r���r���r���r����r����r���r���r���r���A��s$����z_singlefileMailbox.__init__c�������������C���s8���|�j����|�j|�|�j|�j<�|��jd7��_d|�_|�jd�S�)NrW���T)r�����_append_messager����r����r����)r���r!���r���r���r���r"���X��s ����z_singlefileMailbox.addc�������������C���s���|�j�|��|�j|=�d|�_d�S�)NT)r����r����r����)r���r#���r���r���r���r$���b��s���� z_singlefileMailbox.removec�������������C���s$���|�j�|��|�j|�|�j|<�d|�_d�S�)NT)r����r����r����r����)r���r#���r!���r���r���r���r(���h��s���� z_singlefileMailbox.__setitem__c�������������c���s���|�j����|�jj��E�d�H��d�S�)N)r����r����r8���)r���r���r���r���r6���n��s����z_singlefileMailbox.iterkeysc�������������C���s���|�j����||�jkS�)N)r����r����)r���r#���r���r���r���r?���s��s����z_singlefileMailbox.__contains__c�������������C���s���|�j����t|�j�S�)N)r����r����r����)r���r���r���r���r@���x��s����z_singlefileMailbox.__len__c�������������C���s���|�j�st|�j��d|�_�d�S�)NT)r����� _lock_filer����)r���r���r���r���rJ���}��s���� z_singlefileMailbox.lockc�������������C���s���|�j�rt|�j��d|�_�d�S�)NF)r�����_unlock_filer����)r���r���r���r���rK������s���� z_singlefileMailbox.unlockc������� ������C���s���|�j�s |�jrt|�j��d|�_d�S�|�jjdd��|�jj��}||�jkrTtd|�j|f���t|�j �}y�i�}|�j |��x�t|�jj ���D�]|}|�j|�\}}|�jj|��|�j|��|j��}x0|�jjtd||�jj�����}|s�P�|j|��q�W�||j��f||<�|�j|��q~W�|j��|�_W�n"���|j���tj|j����Y�nX�t|��|�jj���tj|�j �j} tj|j| ��ytj|j|�j ��W�n2�tk �r����tj|�j ��tj|j|�j ��Y�nX�t|�j d�|�_||�_d|�_�d|�_|�j�r�t|�jdd��d�S�)NFr���rU���z4Size of mailbox file changed (expected %i, found %i)i���zrb+)�dotlock) r����r�����_sync_flushr����ra����tellr����r����_create_temporaryr����_pre_mailbox_hook�sortedr����r8����_pre_message_hookrS����minrd����_post_message_hookrL���r���r$���r����r����r�����st_mode�chmodr����r����r����r����r����) r���Zcur_lenZnew_fileZnew_tocr#����start�stopZ new_startrT����moder���r���r���rI������s^���� z_singlefileMailbox.flushc�������������C���s���d�S�)Nr���)r���r����r���r���r���r�������s����z$_singlefileMailbox._pre_mailbox_hookc�������������C���s���d�S�)Nr���)r���r����r���r���r���r�������s����z$_singlefileMailbox._pre_message_hookc�������������C���s���d�S�)Nr���)r���r����r���r���r���r�������s����z%_singlefileMailbox._post_message_hookc�������������C���s4���z|�j����W�d�z|�jr|�j���W�d�|�jj���X�X�d�S�)N)rI���r����rK���r����rL���)r���r���r���r���rL������s����z_singlefileMailbox.closec�������������C���sJ���|�j�d�kr|�j���|d�k rFy |�j�|�S��tk rD���td|���Y�nX�d�S�)NzNo message with key: %s)r����� _generate_tocr&���)r���r#���r���r���r���r�������s���� z_singlefileMailbox._lookupc�������������C���s����|�j�jdd��|�j�j��}t|�j�dkr:|�j�r:|�j|�j���y&|�j|�j���|�j|�}|�j |�j���W�n"�t k r����|�j�j|����Y�nX�|�j�j���|�j�j��|�_ |S�)Nr���rU���)r����ra���r����r����r����r����r����r�����_install_messager����r�����truncaterI���r����)r���r!���ZbeforeZoffsetsr���r���r���r�������s���� z"_singlefileMailbox._append_message)NT)N)rw���rx���ry���r���r"���r$���r(���r6���r?���r@���rJ���rK���rI���r����r����r����rL���r����r����r���r���r���r���r����>��s ��� @ r����c���������������@���s>���e�Zd�ZdZdd��Zddd�Zddd�Zdd d �Zdd��Zd S�)� _mboxMMDFTc�������������C���sp���|�j�|�\}}|�jj|��|�jj��jtd�}|�jj||�jj����}|�j|jtd��}|j |dd���j d���|S�)N�����rQ���rX���r���)r����r����ra���rn���rb���rc���rS���r�����_message_factory�set_from�decode)r���r#���r����r����� from_line�stringr����r���r���r���r,�����s����z_mboxMMDF.get_messageFc�������������C���s���t�j|�j|��j|d�S�)N)�unixfrom)r1���r2���r3���r4���)r���r#����from_r���r���r���r5�����s����z_mboxMMDF.get_stringc�������������C���sJ���|�j�|�\}}|�jj|��|s(|�jj���|�jj||�jj����}|jtd�S�)NrQ���)r����r����ra���rn���rS���r����rb���rc���)r���r#���r����r����r����r����r���r���r���r3�����s���� z_mboxMMDF.get_bytesc�������������C���s<���|�j�|�\}}|�jj|��|s(|�jj���t|�j|�jj��|�S�)N)r����r����ra���rn����_PartialFiler����)r���r#���r����r����r����r���r���r���r/�����s ���� z_mboxMMDF.get_filec�������������C���s��d�}t�|t�r|�j|�}t�|t�rf|jd�rf|jd�}|dkr\|d�|��}||d�d���}q�|}d}nJt�|t�r�|j��jd�}d|�}n(t�|t j j�r�|j��}|d�k r�|jd�}|d�kr�dt jt j���j���}|�jj��}|�jj|t���|�j||�j|�j��|�jj��}||fS�)Ns���From rQ���rW���r����r���s���From MAILER-DAEMON rZ���)r[���rg���rP���rh���ro����find�_mboxMMDFMessage�get_fromrM���r1���r!���r����get_unixfromr�����asctime�gmtimer����r����rd���rc���rv���� _mangle_from_)r���r!���r�����newlineZauthorr����r����r���r���r���r����&��s0���� z_mboxMMDF._install_messageN)F)F)F) rw���rx���ry���r����r,���r5���r3���r/���r����r���r���r���r���r������s��� r����c���������������@���s.���e�Zd�ZdZdZd dd�Zdd��Zdd��ZdS�) r���TNc�������������C���s���t�|�_tj|�|||��d�S�)N)r ���r����r����r���)r���r���r���r���r���r���r���r���L��s����z mbox.__init__c�������������C���s���|j�t��d�S�)N)rd���rc���)r���r����r���r���r���r����Q��s����zmbox._post_message_hookc�������������C���s����g�g��}}d}|�j�jd��x�|�j�j��}|�j�j��}|jd�r|t|�t|�k�rl|rb|j|tt����n |j|��|j|��d}q|s�|r�|j|tt����n |j|��P�q|tkr�d}qd}qW�tt t ||���|�_t|�j�|�_|�j�j��|�_ d�S�)NFr���s���From T)r����ra���r����rn���ro���r����r����rc����dict� enumerate�zipr����r����r����)r����starts�stopsZlast_was_empty�line_posru���r���r���r���r����U��s0���� zmbox._generate_toc)NT)rw���rx���ry���r����re���r���r����r����r���r���r���r���r���C��s ��� c���������������@���s.���e�Zd�Zddd�Zdd��Zdd��Zd d ��ZdS�)r���NTc�������������C���s���t�|�_tj|�|||��d�S�)N)r ���r����r����r���)r���r���r���r���r���r���r���r���z��s����z MMDF.__init__c�������������C���s���|j�dt���d�S�)Ns���)rd���rc���)r���r����r���r���r���r������s����zMMDF._pre_message_hookc�������������C���s���|j�td�t���d�S�)Ns���)rd���rc���)r���r����r���r���r���r�������s����zMMDF._post_message_hookc�������������C���s����g�g��}}|�j�jd��d}x�|}|�j�j��}|�j�j��}|jdt��r�|j|��xV|}|�j�j��}|�j�j��}|dt�kr�|j|tt����P�qN|sN|j|��P�qNW�q|sP�qW�tt t ||���|�_t|�j�|�_|�j�jdd��|�j�j��|�_ d�S�)Nr���s���rU���)r����ra���rn���r����ro���rc���r����r����r���r��r��r����r����r����)r���r��r���next_posr��ru���r���r���r���r�������s2���� zMMDF._generate_toc)NT)rw���rx���ry���r���r����r����r����r���r���r���r���r���w��s��� c���������������@���s����e�Zd�Zd/dd�Zdd��Zdd��Zd d ��Zdd��Zd d��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��ZdS�)0r���NTc�������������C���st���t�j|�|||��tjj|�j�sj|r`tj|�jd��tjtjtjj |�jd�tj tjB�tjB�d���n t |�j��d|�_d�S�)Ni���z .mh_sequencesi���F)r���r���r���r���r����r���r����rL���r����r~���r�����O_EXCLr����r���r����)r���r���r���r���r���r���r���r������s���� zMH.__init__c�������������C���s����|�j���}t|�dkrd}nt|�d�}tjj|�jt|��}t|�}d}z�|�j rVt |��zfy|�j||��W�n:�tk r����|�j r�t |��t|��d}tj|����Y�nX�t|t�r�|�j||��W�d�|�j r�t |��X�W�d�|s�t|��X�|S�)Nr���rW���FT)r8���r�����maxr���r���r~���r���rg���r����r����r����rv���r����r����r����r$���r[���r����_dump_sequences)r���r!���r8���Znew_keyr����r�����closedr���r���r���r"������s6���� zMH.addc�������������C���sx���t�jj|�jt|��}yt|d�}W�n>�tk r`�}�z"|jtjkrNt d|���n��W�Y�d�d�}~X�nX�|j ���t�j|��d�S�)Nzrb+zNo message with key: %s)r���r���r~���r���rg���r����r����r����r����r&���rL���r$���)r���r#���r���r����r����r���r���r���r$������s����z MH.removec�������������C���s����t�jj|�jt|��}yt|d�}W�n>�tk r`�}�z"|jtjkrNt d|���n��W�Y�d�d�}~X�nX�zd|�j rrt|��z@t�jt�j|t�j t�jB����|�j||��t|t�r�|�j||��W�d�|�j r�t|��X�W�d�t|��X�d�S�)Nzrb+zNo message with key: %s)r���r���r~���r���rg���r����r����r����r����r&���r����r����rL���r�����O_TRUNCrv���r[���r���r ��r����r����)r���r#���r!���r���r����r����r���r���r���r(������s$���� zMH.__setitem__c���������� ���C���s����y@|�j�r$ttjj|�jt|��d�}nttjj|�jt|��d�}W�n>�tk r~�}�z"|jtj krlt d|���n��W�Y�d�d�}~X�nX�|�2�|�j�r�t|��zt|�}W�d�|�j�r�t |��X�W�d�Q�R�X�x*|�j��j��D�]\}}||kr�|j|��q�W�|S�)Nzrb+r����zNo message with key: %s)r����r����r���r���r~���r���rg���r����r����r����r&���r����r���r����� get_sequencesr>����add_sequence)r���r#���r����r����r����r�����key_listr���r���r���r,������s&����zMH.get_messagec���������� ���C���s����y@|�j�r$ttjj|�jt|��d�}nttjj|�jt|��d�}W�n>�tk r~�}�z"|jtj krlt d|���n��W�Y�d�d�}~X�nX�|�6�|�j�r�t|��z|j��j td�S�|�j�r�t|��X�W�d�Q�R�X�d�S�)Nzrb+r����zNo message with key: %srQ���)r����r����r���r���r~���r���rg���r����r����r����r&���r����rS���rb���rc���r����)r���r#���r����r����r���r���r���r3�����s����zMH.get_bytesc�������������C���sf���yt�tjj|�jt|��d�}W�n>�tk r\�}�z"|jtjkrJt d|���n��W�Y�d�d�}~X�nX�t |�S�)Nr����zNo message with key: %s)r����r���r���r~���r���rg���r����r����r����r&���r����)r���r#���r����r����r���r���r���r/���)��s����zMH.get_filec�������������C���s���t�tdd��tj|�j�D����S�)Nc�������������s���s���|�]}|j���rt|�V��qd�S�)N)�isdigitr����)�.0r����r���r���r���� <genexpr>6��s����zMH.iterkeys.<locals>.<genexpr>)�iterr����r���r����r���)r���r���r���r���r6���4��s����zMH.iterkeysc�������������C���s���t�jjt�jj|�jt|���S�)N)r���r���r����r~���r���rg���)r���r#���r���r���r���r?���9��s����zMH.__contains__c�������������C���s���t�t|�j����S�)N)r����r7���r6���)r���r���r���r���r@���=��s����z MH.__len__c�������������C���s2���|�j�s.ttjj|�jd�d�|�_t|�j��d|�_�d�S�)Nz .mh_sequenceszrb+T)r����r����r���r���r~���r���r����r����)r���r���r���r���rJ���A��s���� zMH.lockc�������������C���s(���|�j�r$t|�j��t|�j��|�`d|�_�d�S�)NF)r����r����r����r����)r���r���r���r���rK���H��s ���� z MH.unlockc�������������C���s���d�S�)Nr���)r���r���r���r���rI���P��s����zMH.flushc�������������C���s���|�j�r|�j���d�S�)N)r����rK���)r���r���r���r���rL���T��s����zMH.closec�������������C���s@���g�}x6t�j|�j�D�]&}t�jjt�jj|�j|��r|j|��qW�|S�)N)r���r����r���r���r����r~���r����)r���rB���r����r���r���r���r����Y��s ����zMH.list_foldersc�������������C���s���t�tjj|�j|�|�jdd�S�)NF)r���r���)r���r���r���r~���r���r���)r���r����r���r���r���r����a��s����z MH.get_folderc�������������C���s���t�tjj|�j|�|�jd�S�)N)r���)r���r���r���r~���r���r���)r���r����r���r���r���r����f��s����z MH.add_folderc�������������C���s`���t�jj|�j|�}t�j|�}|dgkr:t�jt�jj|d���n|g�krDntd|�j���t�j|��d�S�)Nz .mh_sequenceszFolder not empty: %s)r���r���r~���r���r����r$���r���r����)r���r����r���Zentriesr���r���r���r����k��s���� zMH.remove_folderc������� ���������s��i�}t�tjj|�jd�ddd���}t|�j�����x�|D�]�}y�|jd�\}}t��}xT|j��D�]H}|j��rr|j t |���qVdd��|jd�D��\}} |jt|| d ����qVW���fd d�t |�D��||<�t||��dkr�||=�W�q2�tk r����td |j�����Y�q2X�q2W�W�d�Q�R�X�|S�)Nz .mh_sequences�r�ASCII)�encodingrz���c�������������s���s���|�]}t�|�V��qd�S�)N)r����)r���xr���r���r���r�����s����z#MH.get_sequences.<locals>.<genexpr>�-rW���c����������������s���g�|�]}|��kr|�qS�r���r���)r��r#���)�all_keysr���r���� <listcomp>���s����z$MH.get_sequences.<locals>.<listcomp>r���z"Invalid sequence specification: %s)r����r���r���r~���r����setr8���r����r��r"���r����rH����ranger����r����rO���r����rstrip) r���Zresultsr����ru���r�����contentsr8����specr����r����r���)r��r���r��w��s&���� zMH.get_sequencesc�������������C���s ��t�tjj|�jd�ddd�}z�tjtj�|jtjtjB����x�|j ��D�]�\}}t |�dkrXqB|j|d���d�}d}xbtt |��D�]R}|d�|kr�|s�d }|jd ��n*|r�d}|jd||f���n|jd|���|}q|W�|r�|jt|�d ���qB|jd ��qBW�W�d�t|��X�d�S�)Nz .mh_sequenceszr+r��)r��r���rz���FrW���Tr��z%s %sz %s� )r����r���r���r~���r���rL���r����r����r��r>���r����rd���r����r��rg���r����)r���� sequencesr����r����r8����prevZ completingr#���r���r���r���� set_sequences���s.����zMH.set_sequencesc������� ������C���sL��|�j���}d}g�}x�|�j��D�]�}|d�|kr�|j||d�f��y4tjtjj|�jt|��tjj|�jt|d�����W�nH�t t fk r����tjtjj|�jt|��tjj|�jt|d�����Y�nX�tjtjj|�jt|����|d7�}qW�|d�|�_ t|�dkr�d�S�xB|j��D�]6\}}x*|D�]"\}}||k�r|||j|�<��qW��qW�|�j|��d�S�)Nr���rW���)r��r6���r����r���r����r���r~���r���rg���r����r����r�����unlinkr����r����r>����indexr"��) r���r ��r!��Zchangesr#���r����r���oldr|���r���r���r����pack���s,���� zMH.packc�������������C���s|���|j���}|�j���}x<|j��D�]0\}}||kr6|j|��q||kr||j|�=�qW�x|D�]}||krT|g||<�qTW�|�j|��d�S�)N)r��r>���r����r$��r"��)r���r!���r#���Zpending_sequencesZ all_sequencesr����r���sequencer���r���r���r �����s���� zMH._dump_sequences)NT)rw���rx���ry���r���r"���r$���r(���r,���r3���r/���r6���r?���r@���rJ���rK���rI���rL���r����r����r����r����r��r"��r&��r ��r���r���r���r���r������s,��� "c���������������@���s����e�Zd�Zedddddddh�Zd$d d�Zdd ��Zdd��Zdd��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zd d!��Zd"d#��ZdS�)%r����unseen�deletedZfiled�answered� forwardedZedited�resentNTc�������������C���s���t�j|�|||��i�|�_d�S�)N)r����r����_labels)r���r���r���r���r���r���r���r������s����zBabyl.__init__c�������������C���s(���t�j|�|�}t|t�r$|j��|�j|<�|S�)N)r����r"���r[���r���� get_labelsr-��)r���r!���r#���r���r���r���r"������s���� z Babyl.addc�������������C���s"���t�j|�|��||�jkr|�j|=�d�S�)N)r����r$���r-��)r���r#���r���r���r���r$������s���� zBabyl.removec�������������C���s*���t�j|�||��t|t�r&|j��|�j|<�d�S�)N)r����r(���r[���r���r.��r-��)r���r#���r!���r���r���r���r(������s���� zBabyl.__setitem__c������� ������C���s����|�j�|�\}}|�jj|��|�jj���tj��}x4|�jj��}|dt�ksJ|�rLP�|j|jtd���q.W�tj��}x0|�jj��}|tks�|�r�P�|j|jtd���qlW�||�jj ���}|�jj |�}|jtd�}t|j��|��} | j |j����||�jkr�| j|�j|���| S�)Ns���*** EOOH ***rQ���)r����r����ra���rn���r\���r]���rc���rd���rb���r����rS���r���rm����set_visibler-��� set_labels) r���r#���r����r�����original_headersru���Zvisible_headers�nZbodyr����r���r���r���r,������s.���� zBabyl.get_messagec������� ������C���s����|�j�|�\}}|�jj|��|�jj���tj��}x4|�jj��}|dt�ksJ|�rLP�|j|jtd���q.W�x|�jj��}|tks||�rdP�qdW�|j ��}||�jj ���}|�jj|�}|jtd�}||�S�)Ns���*** EOOH ***rQ���)r����r����ra���rn���r\���r]���rc���rd���rb���rm���r����rS���) r���r#���r����r����r1��ru���Zheadersr2��rt���r���r���r���r3�����s$���� zBabyl.get_bytesc�������������C���s���t�j|�j|�jdt��S�)NrQ���)r\���r]���r3���rb���rc���)r���r#���r���r���r���r/���%��s����zBabyl.get_filec�������������C���s@���|�j����t��}x|�jj��D�]}|j|��qW�|j|�j��t|�S�)N)r����r��r-��r<���rH����difference_update�_special_labelsr7���)r����labelsZ label_listr���r���r���r.��)��s����zBabyl.get_labelsc�������������C���s>��g�g��}}|�j�jd��d}g�}x�|}|�j�j��}|�j�j��}|dt�kr�t|�t|�k�rf|j|tt����|j|��dd��|�j�j��dd���jd�D��}|j|��q |dks�|dt�kr�t|�t|�k�r�|j|tt����q |s |j|tt����P�q W�tt t ||���|�_tt |��|�_t|�j�|�_ |�j�jdd��|�j�j��|�_d�S�) Nr���s���c�������������S���s���g�|�]}|j���r|j����qS�r���)�strip)r���labelr���r���r���r��@��s����z'Babyl._generate_toc.<locals>.<listcomp>rW�������,����rU���)r����ra���rn���r����rc���r����r����r����r���r��r��r����r-��r����r����)r���r��r��r��Zlabel_listsr��ru���r5��r���r���r���r����2��s4���� zBabyl._generate_tocc�������������C���sV���dt��}|dt��7�}|�j��}dd��|D��}|ddj|��t��7�}|d7�}|j|��d�S�)Ns���BABYL OPTIONS:s ���Version: 5c�������������s���s���|�]}|j���V��qd�S�)N)rM���)r��r7��r���r���r���r��U��s����z*Babyl._pre_mailbox_hook.<locals>.<genexpr>s���Labels:r8��r9��)rc���r.��r~���rd���)r���r����Zbabylr5��r���r���r���r����P��s����zBabyl._pre_mailbox_hookc�������������C���s���|j�dt���d�S�)N����)rd���rc���)r���r����r���r���r���r����Z��s����zBabyl._pre_message_hookc�������������C���s���|j�td���d�S�)Nr9��)rd���rc���)r���r����r���r���r���r����^��s����zBabyl._post_message_hookc�������������C���s���|�j�j��}t|t�r�g�}g�}x0|j��D�]$}||�jkr@|j|��q&|j|��q&W�|�j�jd��x |D�]}|�j�jd|j�����q`W�|�j�jd��x$|D�]}|�j�jd|j���d���q�W�|�j�jt ��n|�j�jdt ���t|t jj��r0t j��}t jj|dd�}|j|��|jd��x6|j��}|�j�j|jd t ���|d k�s8|��r P��q W�|�j�jd t ���t|t��r�t j��} t jj| dd�} | j|j����xz| j��}|�j�j|jd t ���|d k�s�|��r�P��q�W�nB|jd��x6|j��}|�j�j|jd t ���|d k�s�|��r�P��q�W�x,|jd�}|�sP�|�j�j|jd t ����q�W��nZt|ttt jf��r,t|t j��rhtjdtd ��|j��}t|t��r~|�j|�}|jd�d�}|d�dk�r�|�j�j|d�|��jd t ���|�j�jd t ���|�j�j|d�|��jd t ���|�j�j||d���jd t ���n(|�j�jd t �t ���|�j�j|jd t ����n^t |d��rzt |d��rXtjdtd ��|j!}|j��} d}x�|j��}|j"d��r�|d�d��d �}n|j"d��r�|d�d��d �}|�j�j|jd t ���|d k�s�|��rf|�r�d}|�j�jd t ���|j| ��nP��qfW�x�|j��}|�sP�|j"d��r,|d�d��t �}n:|j"d��rJ|d�d��t �}n|j"d ��rf|d�d��t �}|�j�j|���q�W�nt#dt$|����|�j�j��}||fS�)N����1s���, s���,,���� r8��s���1,,Fr���rQ���s���*** EOOH ***i���z8Use of StringIO input is deprecated, use BytesIO insteadrR���s��� rU���rW���rn���rT���zDUse of text mode files is deprecated, use a binary mode file insteadTs��� rV���zInvalid message type: %srZ���rY���rZ���rY���rZ���rZ���)%r����r����r[���r���r.��r4��r����rd���rM���rc���r1���r!���r���r\���r]���r^���r_���r`���ra���rn���rb����get_visiblerS���rh���rg���ri���rj���rk���rl���rm���rP���r����rE���rT���rf���rp���rq���)r���r!���r����Zspecial_labelsr5��r7��Zorig_bufferZorig_generatorru���Z vis_bufferZ vis_generatorrT���Z body_startZoriginal_posZ first_passr����r���r���r���r����b��s����� zBabyl._install_message)NT)rw���rx���ry���� frozensetr4��r���r"���r$���r(���r,���r3���r/���r.��r����r����r����r����r����r���r���r���r���r������s��� c���������������@���s&���e�Zd�Zddd�Zdd��Zdd��ZdS�) r���Nc�������������C���s����t�|tjj�r4|�jtj|���t�|t�r�|j|���n�t�|t�rP|�jtj |���n~t�|t �rl|�jtj|���nbt�|tj �r�|�jtj|���nDt|d�r�|�jtj|���n(|d�kr�tjjj|���ntdt|����d�S�)NrS���zInvalid message type: %s)r[���r1���r!���r����_become_message�copy�deepcopy�_explain_torh���r2���rg���Zmessage_from_stringr\���� TextIOWrapperZmessage_from_filerE���Zmessage_from_binary_filer���rp���rq���)r���r!���r���r���r���r������s���� zMessage.__init__c�������������C���s8���t�|dg��}x&|jD�]}||kr|j|�|�j|<�qW�d�S�)N�_type_specific_attributes)�getattr�__dict__)r���r!���Z type_specificr����r���r���r���r?�����s����zMessage._become_messagec�������������C���s���t�|t�rd�S�td��d�S�)Nz Cannot convert to specified type)r[���r���rp���)r���r!���r���r���r���rB�����s���� zMessage._explain_to)N)rw���rx���ry���r���r?��rB��r���r���r���r���r������s��� c���������������@���sx���e�Zd�ZdddgZddd�Zdd��Zd d ��Zdd��Zd d��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��ZdS�)r ����_subdir�_info�_dateNc�������������C���s&���d|�_�d|�_tj��|�_tj|�|��d�S�)Nr|���r����)rG��rH��r����rI��r���r���)r���r!���r���r���r���r������s���� zMaildirMessage.__init__c�������������C���s���|�j�S�)N)rG��)r���r���r���r���r�������s����zMaildirMessage.get_subdirc�������������C���s(���|dks|dkr||�_�ntd|���d�S�)Nr|���r}���z!subdir must be 'new' or 'cur': %s)rG��rO���)r���r����r���r���r���r������s����zMaildirMessage.set_subdirc�������������C���s"���|�j�jd�r|�j�dd���S�dS�d�S�)Nz2,rU���r����)rH��ro���)r���r���r���r���� get_flags ��s����zMaildirMessage.get_flagsc�������������C���s���ddj�t|���|�_d�S�)Nz2,r����)r~���r����rH��)r����flagsr���r���r���� set_flags��s����zMaildirMessage.set_flagsc�������������C���s$���|�j�djt|�j���t|�B����d�S�)Nr����)rL��r~���r��rJ��)r����flagr���r���r����add_flag��s����zMaildirMessage.add_flagc�������������C���s,���|�j���r(|�jdjt|�j����t|�����d�S�)Nr����)rJ��rL��r~���r��)r���rM��r���r���r����remove_flag��s����zMaildirMessage.remove_flagc�������������C���s���|�j�S�)N)rI��)r���r���r���r���r������s����zMaildirMessage.get_datec�������������C���s4���yt�|�|�_W�n �tk r.���td|���Y�nX�d�S�)Nzcan't convert to float: %s)�floatrI��rO���rp���)r���Zdater���r���r���r����"��s����zMaildirMessage.set_datec�������������C���s���|�j�S�)N)rH��)r���r���r���r���r����)��s����zMaildirMessage.get_infoc�������������C���s&���t�|t�r||�_ntdt|����d�S�)Nzinfo must be a string: %s)r[���rg���rH��rp���rq���)r����infor���r���r���r����-��s���� zMaildirMessage.set_infoc�������������C���s���t�|t�r8|j|�j����|j|�j����|j|�j�����nht�|t�r�t |�j���}d|kr`|j d��|�j��dkrv|j d��d|kr�|j d��d|kr�|j d��d|kr�|j d��|jd tj |�j�����n�t�|t��rt |�j���}d|kr�|jd ��d|k�r|jd��d|k�r�|jd��n�t�|t��r�t |�j���}d|k�rD|jd ��d|k�rX|jd ��d|k�rl|jd��d|k�r�|jd��nt�|t��r�ntdt|����d�S�)N�S�Rr}����O�T�D�F�Az MAILER-DAEMONr(���replied�flaggedr)��r*���Pr+��z$Cannot convert to specified type: %s)r[���r ���rL��rJ��r����r����r����r����r����r��rN��r����r����r����r���r ��r���� add_labelr���rp���rq���)r���r!���rK��r���r���r���rB��4��sN���� zMaildirMessage._explain_to)N)rw���rx���ry���rD��r���r����r����rJ��rL��rN��rO��r����r����r����r����rB��r���r���r���r���r ������s��� c���������������@���sV���e�Zd�ZdgZddd�Zdd��Zddd�Zd d ��Zdd��Zd d��Z dd��Z dd��ZdS�)r�����_fromNc�������������C���sV���|�j�dd��t|tjj�rF|j��}|d�k rF|jd�rF|�j�|dd�����tj|�|��d�S�)Nz MAILER-DAEMONTzFrom rX���)r����r[���r1���r!���r���r����ro���r���)r���r!���r����r���r���r���r���e��s����z_mboxMMDFMessage.__init__c�������������C���s���|�j�S�)N)r]��)r���r���r���r���r����n��s����z_mboxMMDFMessage.get_fromc�������������C���s4���|d�k r*|dkrt�j��}|dt�j|��7�}||�_d�S�)NT� )r����r����r����r]��)r���r����Ztime_r���r���r���r����r��s ����z_mboxMMDFMessage.set_fromc�������������C���s���|�j�dd�|�j�dd��S�)N�Statusr����zX-Status)r+���)r���r���r���r���rJ��z��s����z_mboxMMDFMessage.get_flagsc�������������C���s����t�|�}d \}}x&d D�]}||kr||7�}|j|��qW�x&dD�]}||kr>||7�}|j|��q>W�|djt|��7�}y|�jd|��W�n �tk r����|�jd|��Y�nX�y|�jd|��W�n �tk r����|�jd|��Y�nX�d�S�)Nr����rS��rT��rV��rW��rX��r_��zX-Status)r����r����)rS��rT��)rV��rW��rX��)r��r$���r~���r�����replace_headerr&���Z add_header)r���rK��Zstatus_flagsZ xstatus_flagsrM��r���r���r���rL��~��s&���� z_mboxMMDFMessage.set_flagsc�������������C���s$���|�j�djt|�j���t|�B����d�S�)Nr����)rL��r~���r��rJ��)r���rM��r���r���r���rN�����s����z_mboxMMDFMessage.add_flagc�������������C���s4���d|�ksd|�kr0|�j�djt|�j���t|�����d�S�)Nr_��zX-Statusr����)rL��r~���r��rJ��)r���rM��r���r���r���rO�����s����z_mboxMMDFMessage.remove_flagc�������������C���s���t�|t�r�t|�j���}d|kr(|jd��d|kr:|jd��d|krL|jd��d|kr^|jd��d|krp|jd��|d =�|d =�dj|�j��j��dd����}y|j t jtj |d ����W�n�ttfk r����Y�nX��n t�|t�r�|j|�j����|j|�j����n�t�|t��rZt|�j���}d|k�r$|jd��d|k�r8|jd��d|k�rL|jd��|d =�|d =�n�t�|t��r�t|�j���}d|k�r�|jd��d|k�r�|jd��d|k�r�|jd��|d =�|d =�nt�|t��r�ntdt|����d�S�)NrT��r}���rW��rX��rS��rR��rV��rU��Zstatuszx-statusr^��rX���z%a %b %d %H:%M:%S %Yr(��rY��rZ��r)��r*��z$Cannot convert to specified type: %s���)r[���r ���r��rJ��r����rN��r~���r����r����r�����calendarZtimegmr����ZstrptimerO���� OverflowErrorr����rL��r����r���r ��r���r\��r���rp���rq���)r���r!���rK��Z maybe_dater���r���r���rB�����s^���� z_mboxMMDFMessage._explain_to)N)N)rw���rx���ry���rD��r���r����r����rJ��rL��rN��rO��rB��r���r���r���r���r����`��s��� r����c���������������@���s���e�Zd�ZdS�)r ���N)rw���rx���ry���r���r���r���r���r ������s���c���������������@���sD���e�Zd�ZdgZddd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dS�)r���� _sequencesNc�������������C���s���g�|�_�tj|�|��d�S�)N)rd��r���r���)r���r!���r���r���r���r������s����zMHMessage.__init__c�������������C���s���|�j�d�d���S�)N)rd��)r���r���r���r���r�����s����zMHMessage.get_sequencesc�������������C���s���t�|�|�_d�S�)N)r7���rd��)r���r ��r���r���r���r"�����s����zMHMessage.set_sequencesc�������������C���s6���t�|t�r"||�jkr2|�jj|��ntdt|����d�S�)Nzsequence type must be str: %s)r[���rg���rd��r����rp���rq���)r���r'��r���r���r���r �����s���� zMHMessage.add_sequencec�������������C���s*���y|�j�j|��W�n�tk r$���Y�nX�d�S�)N)rd��r$���rO���)r���r'��r���r���r����remove_sequence���s����zMHMessage.remove_sequencec�������������C���sJ��t�|t�rdt|�j���}d|kr*|jd��n|jd��|jd��d|krP|jd��d|krb|jd��n�t�|t�r�t|�j���}d|kr�|jd��n |jd ��d|kr�|jd��d|kr�|jd ��n�t�|t�r�x||�j��D�]}|j|��q�W�n`t�|t ��r(t|�j���}d|k�r|j d��d|k�rF|j d��nt�|t��r6ntdt |����d�S�) Nr(��r}���rR��rZ��rW��rY��rS���ROrT��rX��r*��z$Cannot convert to specified type: %s)r[���r ���r��r��r����rN��r����r���r ��r���r\��r���rp���rq���)r���r!���r ��r'��r���r���r���rB�����s@���� zMHMessage._explain_to)N) rw���rx���ry���rD��r���r��r"��r ��re��rB��r���r���r���r���r������s��� c���������������@���s^���e�Zd�ZddgZddd�Zdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��Zdd��ZdS�)r���r-���_visibleNc�������������C���s���g�|�_�t��|�_tj|�|��d�S�)N)r-��r���rg��r���)r���r!���r���r���r���r���"��s����zBabylMessage.__init__c�������������C���s���|�j�d�d���S�)N)r-��)r���r���r���r���r.��(��s����zBabylMessage.get_labelsc�������������C���s���t�|�|�_d�S�)N)r7���r-��)r���r5��r���r���r���r0��,��s����zBabylMessage.set_labelsc�������������C���s6���t�|t�r"||�jkr2|�jj|��ntdt|����d�S�)Nzlabel must be a string: %s)r[���rg���r-��r����rp���rq���)r���r7��r���r���r���r\��0��s���� zBabylMessage.add_labelc�������������C���s*���y|�j�j|��W�n�tk r$���Y�nX�d�S�)N)r-��r$���rO���)r���r7��r���r���r����remove_label8��s����zBabylMessage.remove_labelc�������������C���s ���t�|�j�S�)N)r���rg��)r���r���r���r���r=��?��s����zBabylMessage.get_visiblec�������������C���s���t�|�|�_d�S�)N)r���rg��)r���Zvisibler���r���r���r/��C��s����zBabylMessage.set_visiblec�������������C���sj���x6|�j�j��D�](}||�kr,|�j�j||�|���q|�j�|=�qW�x,dD�]$}||�kr>||�j�kr>|�|�|�j�|<�q>W�d�S�)N�Date�From�Reply-To�To�CC�Subject)ri��rj��rk��rl��rm��rn��)rg��r8���r`��)r����headerr���r���r����update_visibleG��s���� zBabylMessage.update_visiblec�������������C���sv��t�|t�r~t|�j���}d|kr*|jd��n|jd��|jd��d|ksNd|krX|jd��d|krj|jd��d |kr||jd ��n�t�|t�r�t|�j���}d|kr�|jd��n |jd��d |kr�|jd ��d|kr�|jd��n�t�|t��rt|�j���}d|k�r|jd��d|k�rr|jd��nXt�|t ��rT|j |�j����x<|�j��D�]}|j|���q>W�nt�|t ��rbntdt|����d�S�)Nr(��r}���rR��r+��r,��r[��r*��rS��r)��rU��rf��rT��rV��rX��rY��z$Cannot convert to specified type: %s)r[���r ���r��r.��r����rN��r����r���r ��r���r/��r=��r\��r���rp���rq���)r���r!���r5��r7��r���r���r���rB��R��sF���� zBabylMessage._explain_to)N) rw���rx���ry���rD��r���r.��r0��r\��rh��r=��r/��rp��rB��r���r���r���r���r�����s��� c���������������@���s���e�Zd�ZdS�)r ���N)rw���rx���ry���r���r���r���r���r ���|��s���c���������������@���s����e�Zd�Zd%dd�Zd&dd�Zd'dd�Zd(dd �Zd)d d�Zdd ��Zdd��Z d*dd�Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd ��Zd!d"��Zed#d$���ZdS�)+r����Nc�������������C���s$���||�_�|d�kr|j��|�_n||�_d�S�)N)r����r�����_pos)r���r�����posr���r���r���r������s����z_ProxyFile.__init__c�������������C���s���|�j�||�jj�S�)N)�_readr����rS���)r����sizer���r���r���rS������s����z_ProxyFile.readc�������������C���s���|�j�||�jj�S�)N)rs��r�����read1)r���rt��r���r���r���ru�����s����z_ProxyFile.read1c�������������C���s���|�j�||�jj�S�)N)rs��r����rn���)r���rt��r���r���r���rn������s����z_ProxyFile.readlinec�������������C���s>���g�}x4|�D�],}|j�|��|d�k r |t|�8�}|dkr P�q W�|S�)Nr���)r����r����)r����sizehintrB���ru���r���r���r���� readlines���s���� z_ProxyFile.readlinesc�������������c���s ���x|�j���}|sd�S�|V��qW�d�S�)N)rn���)r���ru���r���r���r���r;������s ����z_ProxyFile.__iter__c�������������C���s���|�j�S�)N)rq��)r���r���r���r���r�������s����z_ProxyFile.tellr���c�������������C���s4���|dkr|�j�j|�j��|�j�j||��|�j�j��|�_d�S�)NrW���)r����ra���rq��r����)r����offset�whencer���r���r���ra������s����z_ProxyFile.seekc���������� ���C���s0���t�|�d�r,zt�|�jd�r"|�jj���W�d�|�`X�d�S�)Nr����rL���)rE���r����rL���)r���r���r���r���rL������s ���� z_ProxyFile.closec�������������C���s2���|d�krd}|�j�j|�j��||�}|�j�j��|�_|S�)NrW���rZ���)r����ra���rq��r����)r���rt���read_methodrB���r���r���r���rs�����s����z_ProxyFile._readc�������������C���s���|�S�)Nr���)r���r���r���r���� __enter__���s����z_ProxyFile.__enter__c�������������G���s���|�j����d�S�)N)rL���)r����excr���r���r����__exit__���s����z_ProxyFile.__exit__c�������������C���s ���|�j�j��S�)N)r�����readable)r���r���r���r���r~�����s����z_ProxyFile.readablec�������������C���s ���|�j�j��S�)N)r�����writable)r���r���r���r���r�����s����z_ProxyFile.writablec�������������C���s ���|�j�j��S�)N)r�����seekable)r���r���r���r���r������s����z_ProxyFile.seekablec�������������C���s ���|�j�j��S�)N)r����rI���)r���r���r���r���rI������s����z_ProxyFile.flushc�������������C���s&���t�|�d�sdS�t�|�jd�sdS�|�jjS�)Nr����Tr ��F)rE���r����r ��)r���r���r���r���r �����s ���� z_ProxyFile.closed)N)N)N)N)N)r���)rw���rx���ry���r���rS���ru��rn���rw��r;���r����ra���rL���rs��r{��r}��r~��r��r���rI����propertyr ��r���r���r���r���r�������s"��� r����c���������������@���s8���e�Zd�Zd dd�Zdd��Zddd�Zd d ��Zdd��ZdS�)r����Nc�������������C���s���t�j|�||��||�_||�_d�S�)N)r����r����_start�_stop)r���r����r����r����r���r���r���r������s����z_PartialFile.__init__c�������������C���s���t�j|��|�j�S�)N)r����r����r���)r���r���r���r���r�������s����z_PartialFile.tellr���c�������������C���s<���|dkr|�j�|�_d}n|dkr*|�j|�_d}tj|�||��d�S�)Nr���rW���rU���)r���rq��r���r����ra���)r���rx��ry��r���r���r���ra������s����z_PartialFile.seekc�������������C���sB���|�j�|�j�}|dkrdS�|d�ks0|dk�s0||kr4|}tj|�||�S�)Nr���r����)r���rq��r����rs��)r���rt��rz��Z remainingr���r���r���rs�����s����z_PartialFile._readc�������������C���s���t�|�d�r|�`d�S�)Nr����)rE���r����)r���r���r���r���rL�����s���� z_PartialFile.close)NN)r���)rw���rx���ry���r���r����ra���rs��rL���r���r���r���r���r�������s ��� r����Tc����������4���C���s���d}�yZt�rpyt�j|�t�jt�jB���W�nJ�tk rn�}�z.|jtjtjtjfkr\t d|�j ���n��W�Y�d�d�}~X�nX�|�r^yt|�j d��}|j���W�n:�tk r��}�z|jtjtjfkr�d�S���W�Y�d�d�}~X�nX�y`yt j|j |�j d���d}W�n2�ttfk �r���t j|j |�j d���d}Y�nX�t j|j ��W�n0�tk �r\���t j|j ��t d|�j ���Y�nX�W�n8���t��r|t�j|�t�j��|�r�t j|�j d�����Y�nX�d�S�)NFzlockf: lock unavailable: %sz.lockTzdot lock unavailable: %s)�fcntl�lockfZLOCK_EXZLOCK_NBr����r����ZEAGAINr����r����r���r����r����rL���r���r����r����r����r����r#��r����r$����LOCK_UN)r����r����Zdotlock_doner����Zpre_lockr���r���r���r���� ��sH���� r����c�������������C���s8���t�rt�j|�t�j��tjj|�jd��r4tj|�jd���d�S�)Nz.lock)r���r���r���r���r���r����r����r$���)r����r���r���r���r����4��s����r����c�������������C���s8���t�j|�t�jt�jB�t�jB�d�}z t|�d�S�t�j|��X�d�S�)Ni���zrb+)r���r����r����r���O_RDWRrL���)r����fdr���r���r���r����;��s���� r����c�������������C���s$���t�d|�ttj���tj��tj��f��S�)Nz%s.%s.%s.%s)r����r����r����r����r����r���r����)r���r���r���r���r����C��s����r����c�������������C���s$���|�j����ttd�r tj|�j����d�S�)N�fsync)rI���rE���r���r����fileno)r����r���r���r���r����I��s���� r����c�������������C���s���t�|���|�j���d�S�)N)r����rL���)r����r���r���r���r����O��s����r����c���������������@���s���e�Zd�ZdS�)r���N)rw���rx���ry���r���r���r���r���r���U��s���c���������������@���s���e�Zd�ZdS�)r���N)rw���rx���ry���r���r���r���r���r���X��s���c���������������@���s���e�Zd�ZdS�)r���N)rw���rx���ry���r���r���r���r���r���[��s���c���������������@���s���e�Zd�ZdS�)r���N)rw���rx���ry���r���r���r���r���r���^��s���c���������������@���s���e�Zd�ZdS�)r���N)rw���rx���ry���r���r���r���r���r���a��s���)T)/r���r����rb��r����r����r@��rj���r1���Z email.messageZemail.generatorr\���r-���r����ImportError�__all__rc���rM���r���r���r����r����r���r���r���r���r!���r���r ���r����r ���r���r���r ���r����r����r����r����r����r����r����r����� Exceptionr���r���r���r���r���r���r���r���r����<module> ���sn��� �h��8�DB4-��3�z%mqH_c' *