ó
8ü½cc           @   s   d  Z  d d l Z d d l m Z d d l Z d d l m Z d d l m Z d d l m Z d d l	 m
 Z
 d d l m Z d	 d d
     YZ d S(   s;   Mixin class with list-digest handling methods and settings.i˙˙˙˙N(   t   ST_SIZE(   t   mm_cfg(   t   Utils(   t   Errors(   t   ToDigest(   t   _t   Digesterc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   t  j |  _ t  j |  _ t  j |  _ t  j |  _ t  j	 |  _
 d |  _ t  j |  _ t  j |  _ t  j |  _ i  |  _ i  |  _ d |  _ d |  _ d  S(   Ni   i    (   R   t   DEFAULT_DIGESTABLEt
   digestablet   DEFAULT_DIGEST_IS_DEFAULTt   digest_is_defaultt   DEFAULT_MIME_IS_DEFAULT_DIGESTt   mime_is_default_digestt   DEFAULT_DIGEST_SIZE_THRESHHOLDt   digest_size_threshholdt   DEFAULT_DIGEST_SEND_PERIODICt   digest_send_periodict   next_post_numbert   DEFAULT_DIGEST_HEADERt   digest_headert   DEFAULT_DIGEST_FOOTERt   digest_footert   DEFAULT_DIGEST_VOLUME_FREQUENCYt   digest_volume_frequencyt   one_last_digestt   digest_memberst   next_digest_numbert   digest_last_sent_at(   t   self(    (    s/   /export/web/mailman/mailman/Mailman/Digester.pyt   InitVars!   s    				c         C   s¸   t  j j |  j   d  } yj zO d  } t  j |  t d k rl t |  } t j	 |  |  t  j
 |  n  Wd  | r | j   n  XWn, t k
 r³ } | j t j k rŻ   n  d SXd S(   Ns   digest.mboxi    i   (   t   ost   patht   joint   fullpatht   Nonet   statR    t   openR   t   send_digestst   unlinkt   closet   OSErrort   errnot   ENOENT(   R   t
   digestmboxt   mboxfpt   e(    (    s/   /export/web/mailman/mailman/Mailman/Digester.pyt   send_digest_now2   s     c         C   s   |  j  d 7_  d |  _ d  S(   Ni   (   t   volumeR   (   R   (    (    s/   /export/web/mailman/mailman/Mailman/Digester.pyt   bump_digest_volumeG   s    (   t   __name__t
   __module__R   R.   R0   (    (    (    s/   /export/web/mailman/mailman/Mailman/Digester.pyR       s   		(    (   t   __doc__R   R#   R    R)   t   MailmanR   R   R   t   Mailman.HandlersR   t   Mailman.i18nR   R   (    (    (    s/   /export/web/mailman/mailman/Mailman/Digester.pyt   <module>   s   