ó
Oü½cc        	   @   sù   d  Z  d d l Z d d l m Z d d l m Z e d ƒ e d ƒ e d ƒ f e d ƒ e d	 ƒ e d
 ƒ f e d ƒ e d	 ƒ e d
 ƒ f e d ƒ e d ƒ e d ƒ f e d ƒ e d	 ƒ e d
 ƒ f e d ƒ e d ƒ e d ƒ f g Z d „  Z d S(   s3   Recognizes simple heuristically delimited warnings.iÿÿÿÿN(   t   Stop(   t   _cs>   The address to which the message has not yet been delivered iss"   No action is required on your parts   \s*(?P<addr>\S+@\S+)\s*s:   This is just a warning, you do not need to take any actions   .+s   (?P<addr>.+)s*   Delivery attempts will continue to be mades   THIS IS A WARNING MESSAGE ONLYs   Message will be retrieds"   We will continue to try to delivers   not yet been delivereds   \s*<?(?P<addr>\S+@[^>\s]+)>?\s*c   	      C   sã   i  } xÖ t  D]Î \ } } } d } x¬ t j j |  d t ƒD]’ } | d k rh | j | ƒ rh d } qh n  | d k r; | j | ƒ } | r· | j d ƒ } | rÊ d | | j d ƒ <qÊ qÍ | j | ƒ rÍ PqÍ q; q; W| r t Sq Wg  S(   Ni    t   decodei   t   addrs   <>(	   t   patternst   emailt	   Iteratorst   body_line_iteratort   Truet   searcht   groupt   stripR    (	   t   msgt   addrst   scret   ecret   acret   statet   linet   moR   (    (    s=   /export/web/mailman/mailman/Mailman/Bouncers/SimpleWarning.pyt   processF   s$    (   t   __doc__R   t   Mailman.Bouncers.BouncerAPIR    t   Mailman.Bouncers.SimpleMatchR   R   R   (    (    (    s=   /export/web/mailman/mailman/Mailman/Bouncers/SimpleWarning.pyt   <module>   s,   												