//usr/lib64/lib64//lib64//python2.7/ó
àSec @ sì d Z d d l Z d d l Z d d l Z d d l Z d d l Z d Z d e j f d YZ d d# d d$ d d
d d d d d d d d g Z x£ e
e e D] Z e e Z
e e
e d k rä e j e
e j Z
nB g Z x* e
D]" Z
e j e j e
e j qñ We e Z
[ e
e e <[
q¤ W[ d d e j d e j e j d e j d e j g Z e j d e j e j B Z d Z e g Z d Z d Z d Z e d! k sŜe j d" e k rèe n d S(% s6 mailerdaemon - classes to parse mailer-daemon messagesi˙˙˙˙Ns mailerdaemon.Unparseablet ErrorMessagec B s# e Z d Z d Z d Z RS( c C s t j j | | d | _ d S( Nt ( t rfc822t Messaget __init__t sub( t selft fp( ( s2 /usr/lib64/python2.7/Tools/scripts/mailerdaemon.pyR
s c C sU | j d } | s d S| j } | j d r8 d Sd | k rH d S| | _ d S( Nt Subjecti s waiting maili t warning( t getheadert lowert
startswithR ( R R ( ( s2 /usr/lib64/python2.7/Tools/scripts/mailerdaemon.pyt
is_warning s c C sP xC t D]; } | j y | | j | j SWq t k
rA q Xq Wt d S( N( t EMPARSERSt
rewindbodyR R t Unparseable( R t p( ( s2 /usr/lib64/python2.7/Tools/scripts/mailerdaemon.pyt
get_errors s
( t __name__t
__module__R R
R ( ( ( s2 /usr/lib64/python2.7/Tools/scripts/mailerdaemon.pyR s
s. error: (?Punresolvable): (?P.+)s? ----- The following addresses had permanent fatal errors -----
s (?P[^
].*)
( .*
)?s( remote execution.*
.*rmail (?P.+)s8 The following recipients did not receive your message:
sK +(?P.*)
(The following recipients did not receive your message:
)?s? ------- Failure Reasons --------
(?P.*)
(?P.*)s ^<(?P.*)>:
(?P.*)s= ^(?PUser mailbox exceeds allowed size): (?P.+)s0 ^5\d{2} <(?P[^
>]+)>\.\.\. (?P.+)s) ^Original-Recipient: rfc822;(?P.*)sR ^did not reach the following recipient\(s\):
(?P.*) on .*
+(?P.*)s+ ^ <(?P[^
>]+)> \.\.\. (?P.*)s@ ^Report on your message to: (?P.*)
Reason: (?P.*)s^ ^Your message was not delivered to +(?P.*)
+for the following reason:
+(?P.*)sO ^ was not +(?P[^
].*?) *
.*
.*
.*
because:.*
+(?P[^
].*?) *
R s ^5\d{2} <>\.\.\. (?P.*)s <>\.\.\. (?P.*)s ^<<< 5\d{2} (?P.*)s, ===== stderr was =====
rmail: (?P.*)s ^Diagnostic-Code: (?P.*)s ^From:c C s | j } t j | } | d k r6 t | } n | j d } g } g } d } x)t D]!} t | t d k r| d j | d | } | d k ry | j d } Wn t k
rÇ n XxK | d j
| | j d | } | d k rŭ Pn | j | j d qË Pqq^ | j | d | } | d k r^ | j | j d y | j d } Wn t k
rzn XPq^ q^ W| st
n | sÔ| } | d d k rğ| d } n xt D]} t | t d k rxĥ t t | d d d D] } | | }
t j t j |
j | j d t j } | j | } | d k rŭ| j d
j |
j d | j d j | | =qŭqŭWqÂn | j | } | d k rÂ| j d } PqÂqÂWn x8 | D]0 }
| j d
j |
j d | j qÛW| S(
Ni t reasoni t emaili s returned mail: R i˙˙˙˙s <>t s : ( ( t readt emparse_list_fromt searcht Nonet lent startt emparse_list_listt typet groupt
IndexErrort matcht endt appendR t emparse_list_reasont ranget ret compilet escapet joint splitt MULTILINEt strip( R R t datat rest
from_indext errorst emailsR t regexpt iR t exp( ( s2 /usr/lib64/python2.7/Tools/scripts/mailerdaemon.pyt emparse_list\ sj
"
#
03
.c C s@ t | } t | } | | k r( d S| | k r8 d Sd Sd S( Ni˙˙˙˙i i ( t int( t at b( ( s2 /usr/lib64/python2.7/Tools/scripts/mailerdaemon.pyt sort_numeric s c C sÌ t j | t j d } i } i } i } d } } } t | d t j d } | j t x½| D]µ}
t |
} t | } | j
d }
d |
|
d f G| j rġ | j d GH| d } | rn t j
|
d |
qn qn n y | j } Wn- t k
r4d
GH| d } | j qn n Xt | Gd GHxĞ | D]£ } y7 | j d d d !\ } } d t j | | f } Wn
d } n X| j | sÈd | |