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