aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Mailman/Handlers/CookHeaders.py2
-rw-r--r--Mailman/Handlers/Moderate.py4
-rw-r--r--Mailman/Handlers/Scrubber.py7
-rw-r--r--Mailman/Handlers/ToDigest.py5
4 files changed, 11 insertions, 7 deletions
diff --git a/Mailman/Handlers/CookHeaders.py b/Mailman/Handlers/CookHeaders.py
index 9ef5550c..2ec1f3f7 100644
--- a/Mailman/Handlers/CookHeaders.py
+++ b/Mailman/Handlers/CookHeaders.py
@@ -169,7 +169,7 @@ def process(mlist, msg, msgdata):
if mlist.description:
# Make sure description is properly i18n'd
listid_h = uheader(mlist, mlist.description, 'List-Id')
- listid_h.append(' ' + listid, 'us-ascii')
+ listid_h.append(listid, 'us-ascii')
else:
# For wrapping
listid_h = Header(listid, 'us-ascii', header_name='List-Id')
diff --git a/Mailman/Handlers/Moderate.py b/Mailman/Handlers/Moderate.py
index d44cb89b..61e6cafc 100644
--- a/Mailman/Handlers/Moderate.py
+++ b/Mailman/Handlers/Moderate.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2001,2002 by the Free Software Foundation, Inc.
+# Copyright (C) 2001-2003 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -45,7 +45,7 @@ class ModeratedMemberPost(Hold.ModeratedPost):
def process(mlist, msg, msgdata):
- if msgdata.get('approved'):
+ if msgdata.get('approved') or msgdata.get('fromusenet'):
return
# First of all, is the poster a member or not?
for sender in msg.get_senders():
diff --git a/Mailman/Handlers/Scrubber.py b/Mailman/Handlers/Scrubber.py
index b5be73df..7bc5f510 100644
--- a/Mailman/Handlers/Scrubber.py
+++ b/Mailman/Handlers/Scrubber.py
@@ -301,8 +301,11 @@ Url : %(url)s
try:
t = unicode(t, partcharset, 'replace')
except (UnicodeError, LookupError):
- # Replace funny characters
- t = unicode(t, 'ascii', 'replace').encode('ascii')
+ # Replace funny characters. We use errors='replace' for
+ # both calls since the first replace will leave U+FFFD,
+ # which isn't ASCII encodeable.
+ u = unicode(t, 'ascii', 'replace')
+ t = u.encode('ascii', 'replace')
try:
# Should use HTML-Escape, or try generalizing to UTF-8
t = t.encode(charset, 'replace')
diff --git a/Mailman/Handlers/ToDigest.py b/Mailman/Handlers/ToDigest.py
index b25b1f4f..5d354473 100644
--- a/Mailman/Handlers/ToDigest.py
+++ b/Mailman/Handlers/ToDigest.py
@@ -44,6 +44,7 @@ from Mailman import mm_cfg
from Mailman import Utils
from Mailman import Message
from Mailman import i18n
+from Mailman.Mailbox import Mailbox
from Mailman.MemberAdaptor import ENABLED
from Mailman.Handlers.Decorate import decorate
from Mailman.Queue.sbcache import get_switchboard
@@ -74,8 +75,8 @@ def process(mlist, msg, msgdata):
mboxfp = open(mboxfile, 'a+')
finally:
os.umask(omask)
- g = Generator(mboxfp)
- g.flatten(msg, unixfrom=True)
+ mbox = Mailbox(mboxfp)
+ mbox.AppendMessage(msg)
# Calculate the current size of the accumulation file. This will not tell
# us exactly how big the MIME, rfc1153, or any other generated digest
# message will be, but it's the most easily available metric to decide