Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/Tools/scripts/__pycache__/mailerdaemon.cpython-35.opt-1.pyc



��Yfs�@sdZddlZddlZddlZddlZddlZGdd�de�ZGdd�dej	j
�Zdd'd
d(d
dddddddddgZx�e
ee��D]�ZeeZee�ed�kr�ejeej�ZnBgZx*eD]"Zejejeej��qWee�Z[eee<[q�W[ddejdej�ejd�ejdej�gZejdejejB�Zdd�ZegZd d!�Zd"d#�Zd$d%�Zed&ks�ej dekre�dS))z(Classes to parse mailer-daemon messages.�Nc@seZdZdS)�UnparseableN)�__name__�
__module__�__qualname__�rr�?/opt/alt/python35/lib64/python3.5/Tools/scripts/mailerdaemon.pyrsrc@s4eZdZdd�Zdd�Zdd�ZdS)�ErrorMessagecCs tjjj|�d|_dS)N�)�email�message�Message�__init__�sub)�selfrrrr
szErrorMessage.__init__cCsU|jd�}|sdS|j�}|jd�r8dSd|krHdS||_dS)NZSubjectrzwaiting mail�Zwarning)�get�lower�
startswithr)rrrrr�
is_warnings	zErrorMessage.is_warningcCsQxDtD]<}|j�y||j|j�SWqtk
rBYqXqWt�dS)N)�	EMPARSERSZ
rewindbody�fprr)r�prrr�
get_errors s


	zErrorMessage.get_errorsN)rrrr
rrrrrrrsrz.error: (?P<reason>unresolvable): (?P<email>.+)�?----- The following addresses had permanent fatal errors -----
�(?P<email>[^ 
].*)
( .*
)?z(remote execution.*
.*rmail (?P<email>.+)�8The following recipients did not receive your message:

�K +(?P<email>.*)
(The following recipients did not receive your message:

)?z?------- Failure Reasons  --------

(?P<reason>.*)
(?P<email>.*)z ^<(?P<email>.*)>:
(?P<reason>.*)z=^(?P<reason>User mailbox exceeds allowed size): (?P<email>.+)z0^5\d{2} <(?P<email>[^
>]+)>\.\.\. (?P<reason>.+)z)^Original-Recipient: rfc822;(?P<email>.*)zR^did not reach the following recipient\(s\):

(?P<email>.*) on .*
 +(?P<reason>.*)z+^ <(?P<email>[^
>]+)> \.\.\. (?P<reason>.*)z@^Report on your message to: (?P<email>.*)
Reason: (?P<reason>.*)z^^Your message was not delivered to +(?P<email>.*)
 +for the following reason:
 +(?P<reason>.*)zO^ was not +(?P<email>[^ 
].*?) *
.*
.*
.*
 because:.*
 +(?P<reason>[^ 
].*?) *
r	z^5\d{2} <>\.\.\. (?P<reason>.*)z<>\.\.\. (?P<reason>.*)z^<<< 5\d{2} (?P<reason>.*)z,===== stderr was =====
rmail: (?P<reason>.*)z ^Diagnostic-Code: (?P<reason>.*)z^From:c
Cs|j�}tj|�}|dkr6t|�}n|jd�}g}g}d}x#tD]}t|�tf�kr|dj|d|�}|dk	ryy|jd�}Wntk
r�YnXxI|dj	||j
d�|�}|dkr�P|j|jd��q�WPq^|j|d|�}|dk	r^|j|jd��y|jd�}Wntk
rwYnXPq^W|s�t�|s�|}|dd�dkr�|dd�}x
t
D]}t|�td�kr�x�tt|�ddd�D]�}	||	}
tjtj|
�j|jd��tj�}|j|�}|dk	r�|jd	j|
j�d
|jd�j���||	=q�Wq�|j|�}|dk	r�|jd�}Pq�Wx8|D]0}
|jd	j|
j�d
|j���q�W|S)
Nr�reasonrr
�zreturned mail: r	z<>� z: ���r )�read�emparse_list_from�search�len�start�emparse_list_list�type�group�
IndexError�match�end�appendr�emparse_list_reason�range�re�compile�escape�join�split�	MULTILINE�strip)rr�data�resZ
from_index�errorsZemailsrZregexp�ir
Zexprrr�emparse_listasj

"

#
03
.r:cCs@t|�}t|�}||kr(dS||kr8dSdSdS)Nrrr )�int)�a�brrr�sort_numeric�sr>cCs
tj|�tjd�}i}i}i}d}}}|	t|dd�tjd���}
|
jt�x�|
D]�}t|�}t	j
|dt�}
|
jd�}t
d||d	fd
d�|
j�r|j�t
d�|d	}|rwtj|d
|�qwy|
j�}Wn3tk
rWt
d�|d	}|j�wwYnXt
t|�d�x�|D]�}y:|
jd�d	d�\}}dtj||f}Wnd}YnX||kr�d	||<d||f||<n||d	||<d||f||<qrW|j�|d	}|rwtj|d
|�qwWt
d�t
|d|dd
d�t
|d�t
d�g}	x9|j�D]+}|	j|||||||f�q�W|	j�x4|	D],\}}}}t
d||||f�q�WdS)Nz^[0-9]*$rcSs|j|�dk	S)N)r*)�fn�patrrr�<lambda>�szparsedir.<locals>.<lambda>�.Z_classZFromz	%s	%-40s	rr+rzwarning only�,z** Not parseabler8�date�z%s %02dz??????z%s (%s)z--------------z
files parsed,zfiles warning-only,zfiles unparseablez
%d %s - %s	%s�)�os�chdirr/r0�filter�listdir�sortr>�openr
Zmessage_from_filerZgetaddr�printr�close�renamerrr$Zgetdate�calendarZ
month_abbr�keysr,)�dir�modifyr@Z	errordictZ
errorfirstZ	errorlastZnokZnwarnZnbad�list�filesr?r�mZsenderr8�eZmmZddrDZnum�firstZlastrrr�parsedir�sj
'















)
rYcCs�d}ttj�dkr>tjddkr>d}tjd=ttj�dkr�x8tjdd�D]}t||�qgWn
td|�dS)Nrrz-dz/ufs/jack/Mail/errorsinbox)r$�sys�argvrY)rSZfolderrrr�main�s(
r\�__main__)rr)rr)!�__doc__rPZ
email.messager
r/rGrZ�	Exceptionrrrrr&r.r$r9�xr'r0r4Zxlr,�tupler-�
IGNORECASEr"r:rr>rYr\rr[rrrr�<module>s`&	

 
9	
D