ó
Jü½cc           @   sU   d  Z  d d l Z d d l m Z d d l m Z d d l m Z d Z d „  Z	 d S(   sÂ   Wrap the message in an outer message/rfc822 part and transfer/add
some headers from the original.

Also, in the case of Munge From, replace the From:, Reply-To: and Cc: in the
original message.
iÿÿÿÿN(   t   MIMEMessage(   t   MIMEText(   t   Utilst   tos   in-reply-tot
   referencess   x-mailman-approved-att   datec         C   sn  | j  d ƒ d k p6 |  j d k o6 | j  d ƒ d k sÙ | j  d ƒ } | rÕ | j  d ƒ rz | d =| j  d ƒ | d <n  | j  d ƒ r¦ | d =| j  d ƒ | d <n  | j  d	 ƒ rÕ | d
 =| j  d	 ƒ | d	 <qÕ n  d  St j | ƒ } t t ƒ } d g  | j  d i  ƒ j ƒ  D] } | j ƒ  ^ qk r;| j d ƒ n  x0 | j ƒ  D]" } | j ƒ  | k rH| | =qHqHWd | d <t	 j
 |  ƒ | d <x0 | j  d i  ƒ j ƒ  D] \ } } | | | <q¤W|  j rF| j  d ƒ d k rFt t	 j |  j ƒ d t	 j |  j ƒ ƒ }	 d |	 d <t | ƒ }
 d |
 d <d | d <| j |	 |
 g ƒ n$ d | d <d | d <| j | g ƒ d  S(   Nt   from_is_listi   i    t
   add_headert   Fromt   froms   Reply-Tos   reply-tot   Cct   cct   subjects   1.0s   MIME-Versions
   Message-IDt   plaint   inlines   Content-Dispositions   multipart/mixeds   Content-Types   message/rfc822(   t   getR   t   copyt   deepcopyt   listt   KEEPERSt   keyst   lowert   appendR   t   unique_message_idt   itemst   dmarc_wrapped_message_textR   t   wrapt
   GetCharSett   preferred_languageR    t   set_payload(   t   mlistt   msgt   msgdatat   a_ht   omsgt   keeperst   keyt   kt   vt   part1t   part2(    (    s;   /export/web/mailman/mailman/Mailman/Handlers/WrapMessage.pyt   process*   sL    $1
%




(   R   s   in-reply-toR   s   x-mailman-approved-atR   (
   t   __doc__R   t   email.MIMEMessageR    t   email.MIMETextR   t   MailmanR   R   R)   (    (    (    s;   /export/web/mailman/mailman/Mailman/Handlers/WrapMessage.pyt   <module>   s       