Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/Tools/scripts/__pycache__/mailerdaemon.cpython-34.pyo

�
e fs�@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�ndS))z(Classes to parse mailer-daemon messages.�Nc@seZdZdS)�UnparseableN)�__name__�
__module__�__qualname__�rr�?/opt/alt/python34/lib64/python3.4/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	r�y|jd�}Wntk
r�YnXxL|dj	||j
d�|�}|dkr�Pn|j|jd��q�WPq�q^|j|d|�}|dk	r^|j|jd��y|jd�}Wntk
r}YnXPq^q^W|s�t�n|s�|}|dd�dkr�|dd�}nxt
D]}t|�td�kr�x�tt|�ddd�D]�}	||	}
tjtj|
�j|jd��tj�}|j|�}|dk	r|jd	j|
j�d
|jd�j���||	=qqWq�n|j|�}|dk	r�|jd�}Pq�q�Wnx8|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>cCstj|�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
|�qwqwny|
j�}Wn3tk
r]t
d�|d	}|j�wwYnXt
t|�d�x�|D]�}y:|
jd�d	d�\}}dtj||f}Wnd}YnX||kr�d	||<d||f||<n||d	||<d||f||<qxW|j�|d	}|rwtj|d
|�qwqwWt
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�first�lastrrr�parsedir�sj
'















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

 
9	
D