diff options
Diffstat (limited to 'Mailman/Handlers/Scrubber.py')
-rw-r--r-- | Mailman/Handlers/Scrubber.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Mailman/Handlers/Scrubber.py b/Mailman/Handlers/Scrubber.py index 7c0519eb..d1e6414f 100644 --- a/Mailman/Handlers/Scrubber.py +++ b/Mailman/Handlers/Scrubber.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2009 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2011 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 @@ -314,7 +314,7 @@ URL: %(url)s # We still have to sanitize multipart messages to flat text because # Pipermail can't handle messages with list payloads. This is a kludge; # def (n) clever hack ;). - if msg.is_multipart() and sanitize <> 2: + if msg.is_multipart(): # By default we take the charset of the first text/plain part in the # message, but if there was none, we'll use the list's preferred # language's charset. @@ -335,9 +335,12 @@ URL: %(url)s # MAS test payload - if part may fail if there are no headers. if not part.get_payload() or part.is_multipart(): continue - # All parts should be scrubbed to text/plain by now. + # All parts should be scrubbed to text/plain by now, except + # if sanitize == 2, there could be text/html parts so keep them + # but skip any other parts. partctype = part.get_content_type() - if partctype <> 'text/plain': + if partctype <> 'text/plain' and (partctype <> 'text/html' or + sanitize <> 2): text.append(_('Skipped content of type %(partctype)s\n')) continue try: |