Update of /cvsroot/mailman/mailman/Mailman/Handlers
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14131/Mailman/Handlers

Modified Files:
      Tag: Release_2_1-maint
        ToDigest.py 
Log Message:
923428  VERP subscription confirmations
960551  Bug: Plain digest with mixed charsets
995029  Patch against Mailman 2.1.5 release fixes bug #913397


Index: ToDigest.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Handlers/ToDigest.py,v
retrieving revision 2.22.2.7
retrieving revision 2.22.2.8
diff -u -d -r2.22.2.7 -r2.22.2.8
--- ToDigest.py 14 Oct 2004 08:05:06 -0000      2.22.2.7
+++ ToDigest.py 19 Oct 2004 04:34:06 -0000      2.22.2.8
@@ -39,6 +39,7 @@
 from email.MIMEMessage import MIMEMessage
 from email.Utils import getaddresses
 from email.Header import decode_header, make_header, Header
+from email.Charset import Charset
 
 from Mailman import mm_cfg
 from Mailman import Utils
@@ -137,9 +138,11 @@
 
 def send_i18n_digests(mlist, mboxfp):
     mbox = Mailbox(mboxfp)
-    # Prepare common information
+    # Prepare common information (first lang/charset)
     lang = mlist.preferred_language
     lcset = Utils.GetCharSet(lang)
+    lcset_out = Charset(lcset).output_charset
+    # Common Information (contd)
     realname = mlist.real_name
     volume = mlist.volume
     issue = mlist.next_digest_number
@@ -316,6 +319,10 @@
         print >> plainmsg
         payload = msg.get_payload(decode=True)\
                   or msg.as_string().split('\n\n',1)[1]
+        mcset = msg.get_content_charset('')
+        if mcset and mcset <> lcset and mcset <> lcset_out:
+            payload = unicode(payload, mcset, 'replace'
+                      ).encode(lcset, 'replace')
         print >> plainmsg, payload
         if not payload.endswith('\n'):
             print >> plainmsg

_______________________________________________
Mailman-checkins mailing list
[EMAIL PROTECTED]
Unsubscribe: http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to