;ò
¢)?Bc           @   sÙ   d  Z  d k l Z d k Z d k l Z d k l Z d k l	 Z	 l
 Z
 d k l Z l Z l Z d k l Z d k l Z d	 k l Z d
 k l Z d Z d Z d Z d „  Z e d e d „ Z d „  Z d „  Z d S(   s!   Cook a message's Subject header.
(   s   nested_scopesN(   s   UnicodeType(   s   Charset(   s   Headers   decode_header(   s	   parseaddrs
   formataddrs   getaddresses(   s   mm_cfg(   s   Utils(   s   _(   s   syslogs   ,
	s   , iN   c         C   s   t  |  t ƒ Sd  S(   N(   s
   isinstances   ss   UnicodeType(   s   s(    (    s,   /var/mailman/Mailman/Handlers/CookHeaders.pys
   _isunicode'   s    s   	c         C   sƒ   t  i |  i ƒ } | d j o
 d } n t | ƒ } t | ƒ o& | i p d } t
 | | d ƒ } n t | | | | | ƒ Sd  S(   Ns   us-asciis
   iso-8859-1s   asciis   replace(   s   Utilss
   GetCharSets   mlists   preferred_languages   charsets   Charsets
   _isunicodes   ss   input_codecs   codecs   unicodes   Headers
   maxlinelens   header_names   continuation_ws(   s   mlists   ss   header_names   continuation_wss
   maxlinelens   charsets   codec(    (    s,   /var/mailman/Mailman/Handlers/CookHeaders.pys   uheader*   s    
c      
      s®  | i d ƒ o | d =d | d <n | i ƒ  | d <| i d ƒ } | i d ƒ o | o t |  | | ƒ n |  i ƒ  | d <| i d	 ƒ o t	 i
 | d
 <n | i d ƒ o d | d <n | oâg  ‰  h  ‰ ‡ ‡  d †  }	 |  i d j o |	 t |  i ƒ ƒ n |  i o7 | i d g  ƒ } x" t | ƒ D] } |	 | ƒ q6Wn |  i d j o2 t |  |  i ƒ } |	 t | ƒ |  i ƒ  f ƒ n | d =ˆ  o> t i g  i } ˆ  D] } | t | ƒ ƒ q²~ ƒ | d <n |  i d j o |  i d j o¬ g  ‰  h  ‰ x* t | i d g  ƒ ƒ D] } |	 | ƒ q!Wt |  |  i ƒ } |	 t | ƒ |  i ƒ  f ƒ | d =t i g  i } ˆ  D] } | t | ƒ ƒ q~~ ƒ | d <q¬n | i d ƒ p |  i  o d  Sn d |  i! ƒ  |  i" f } |  i o+ t |  |  i d d d ƒ} t | ƒ } n d } t | | f ƒ } | d =| | d <|  i' ƒ  } d } |  i* d d d ƒ}
 h  } | i d ƒ o d  | d! <n¯ | i- h  d" d# | <d$ | |
 | d% f <d& | |
 | d f <ƒ |  i. o d' |  i ƒ  | d( <n |  i/ o< |  i0 ƒ  } | i2 d) ƒ o | d*  } n d+ | | d, <n xh | i3 ƒ  D]Z \ } } | | =t5 | ƒ d t5 | ƒ d- j o t6 i | i7 d. ƒ ƒ } n | | | <qLWd  S(/   Ns   noacks   x-acks   nos   X-Acks   original_senders
   _fasttracks   isdigests   X-BeenTheres   x-mailman-versions   X-Mailman-Versions
   precedences   lists
   Precedencec            sC   |  d i ƒ  } ˆ  i | ƒ o d  Sn |  ˆ  | <ˆ i |  ƒ d  S(   Ni   (   s   pairs   lowers   lcaddrs   ds   has_keys   news   append(   s   pairs   lcaddr(   s   ds   new(    s,   /var/mailman/Mailman/Handlers/CookHeaders.pys   addm   s
    
i   s   reply-toi   s   Reply-Tos   ccs   Ccs   _nolists   %s.%ss   List-Ids
   maxlineleni'  s    s   list-ids%   <%s>, <mailto:%s?subject=%ssubscribe>s   listinfos   absolutes   reduced_list_headerss   yess   X-List-Administrivias	   List-Helps   <mailto:%s?subject=help>s   List-Unsubscribes   uns   List-Subscribes   <mailto:%s>s	   List-Posts   /iÿÿÿÿs   <%s>s   List-ArchiveiN   s   , (8   s   msgdatas   gets   msgs
   get_senders	   fasttracks   prefix_subjects   mlists   GetListEmails   has_keys   mm_cfgs   VERSIONs   news   ds   adds   reply_goes_to_lists	   parseaddrs   reply_to_addresss   first_strip_reply_tos   get_alls   origs   getaddressess   pairs   uheaders   descriptions   i18ndescs   strs
   COMMASPACEs   joins   appends   _[1]s
   formataddrs   personalizes   include_rfc2369_headerss   internal_names	   host_names   listids   hs   descs   listid_hs   GetRequestEmails   requestaddrs   subfieldfmts   GetScriptURLs   listinfos   headerss   updates   include_list_post_headers   archives   GetBaseArchiveURLs
   archiveurls   endswiths   itemss   vs   lens   CONTINUATIONs   split(   s   mlists   msgs   msgdatas   requestaddrs	   fasttracks   subfieldfmts   origs   listid_hs
   archiveurls   adds   listinfos   news   listids   pairs   descs   ds   hs   i18ndescs   _[1]s   headerss   v(    (   s   news   ds,   /var/mailman/Mailman/Handlers/CookHeaders.pys   process=   sŠ    	  >
  B

F

 !c         C   s#  |  i } | i d d ƒ } t | t ƒ o t | ƒ i	 ƒ  } n | i	 ƒ  } d }
 t | ƒ d j o | d o | d d d j o | d d }
 n | | d <| o t d ƒ } n t | ƒ } | o | oQ t i | i ƒ  ƒ } x9 | D]- \ }	 } t i | |	 t i ƒ o d  Sqð qð Wn | d =t |  | d	 d
 |
 ƒ} xÎ | D]Æ \ } } | t j o t d ƒ } n t | t ƒ o t | ƒ } n t | ƒ o^ | i  p d } y t" | | d ƒ } Wqt# j
 o% t" | t$ i% |  i& ƒ d ƒ } qXn | i' | | ƒ qKW| | d	 <d  S(   Ns   subjects    s   	i   i    s    	s   origsubjs   (no subject)s   Subjects   continuation_wss
   iso-8859-1s   asciis   replace((   s   mlists   subject_prefixs   prefixs   msgs   gets   subjects
   isinstances   Headers   strs
   splitliness   liness   wss   lens   msgdatas   _s   decode_headers
   headerbitss   res   escapes   strips   patterns   decodedsubjs   charsets   searchs
   IGNORECASEs   uheaders   hs   ss   cs   Nones   Charsets
   _isunicodes   input_codecs   codecs   unicodes   LookupErrors   Utilss
   GetCharSets   preferred_languages   append(   s   mlists   msgs   msgdatas   prefixs
   headerbitss   subjects   patterns   charsets   codecs   decodedsubjs   wss   cs   hs   liness   s(    (    s,   /var/mailman/Mailman/Handlers/CookHeaders.pys   prefix_subjectÙ   sF    	3
  (   s   __doc__s
   __future__s   nested_scopess   res   typess   UnicodeTypes   email.Charsets   Charsets   email.Headers   Headers   decode_headers   email.Utilss	   parseaddrs
   formataddrs   getaddressess   Mailmans   mm_cfgs   Utilss   Mailman.i18ns   _s   Mailman.Logging.Syslogs   syslogs   CONTINUATIONs
   COMMASPACEs
   MAXLINELENs
   _isunicodes   Nones   uheaders   processs   prefix_subject(   s	   parseaddrs
   _isunicodes
   MAXLINELENs   getaddressess   uheaders   nested_scopess   Headers   syslogs   CONTINUATIONs   Utilss   Charsets   res   UnicodeTypes   mm_cfgs   _s   decode_headers   processs   prefix_subjects
   formataddrs
   COMMASPACE(    (    s,   /var/mailman/Mailman/Handlers/CookHeaders.pys   ?   s"   			œ