
Pcc           @   s   d  Z  d d l Z d d l m Z m Z m Z d d l m Z d d l m Z d d l m	 Z	 d d l
 m Z d e f d	     YZ d S(
   s   Archive queue runner.iN(   t   parsedate_tzt	   mktime_tzt
   formatdate(   t   i18n(   t   mm_cfg(   t   LockFile(   t   Runnert
   ArchRunnerc           B   s   e  Z e j Z d    Z RS(   c   	      C   s{  d } | j  d  } t | d  } | s4 d } n t j d k rL d } n t j d k r t |  } t j   } y; | s d } n( t | t |   t j k r d } n  Wq t	 t
 f k
 r d } q Xn  | r| d =| d =| | d <| r| | d <qn  | | d	 <y | j d
 t j  Wn t j k
 r=d SXz+ t j | j  | j |  | j   Wd  | j   Xd  S(   Ni    t   datet   received_timei   i   s   x-original-datet   Dates   X-Original-Dates   X-List-Received-Datet   timeout(   t   getR   R   t   ARCHIVER_CLOBBER_DATE_POLICYR    t   timet   absR   t!   ARCHIVER_ALLOWABLE_SANE_DATE_SKEWt
   ValueErrort   OverflowErrort   Lockt   LIST_LOCK_TIMEOUTR   t   TimeOutErrorR   t   set_languaget   preferred_languaget   ArchiveMailt   Savet   Unlock(	   t   selft   mlistt   msgt   msgdatat   clobbert   originaldatet   receivedtimet   tupt   now(    (    s7   /export/web/mailman/mailman/Mailman/Queue/ArchRunner.pyt   _dispose    sD    			

(   t   __name__t
   __module__R   t   ARCHQUEUE_DIRt   QDIRR$   (    (    (    s7   /export/web/mailman/mailman/Mailman/Queue/ArchRunner.pyR      s   	(   t   __doc__R   t   email.UtilsR    R   R   t   MailmanR   R   R   t   Mailman.Queue.RunnerR   R   (    (    (    s7   /export/web/mailman/mailman/Mailman/Queue/ArchRunner.pyt   <module>   s   