summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setup.py3
-rw-r--r--src/mailman/config/schema.cfg4
-rw-r--r--src/mailman/pipeline/scrubber.py7
3 files changed, 8 insertions, 6 deletions
diff --git a/setup.py b/setup.py
index 28fc2a73a..234992632 100644
--- a/setup.py
+++ b/setup.py
@@ -85,8 +85,7 @@ case second `m'. Any other spelling is incorrect.""",
package_dir = {'': 'src'},
include_package_data = True,
entry_points = {
- 'console_scripts' : list(scripts),
- 'mailman.scrubber' : 'stock = mailman.archiving.pipermail:Pipermail',
+ 'console_scripts' : list(scripts),
},
install_requires = [
'lazr.config',
diff --git a/src/mailman/config/schema.cfg b/src/mailman/config/schema.cfg
index 415ad8693..cad604b3d 100644
--- a/src/mailman/config/schema.cfg
+++ b/src/mailman/config/schema.cfg
@@ -475,14 +475,14 @@ class: mailman.styles.default.DefaultStyle
[scrubber]
-# A filter module that converts from multipart messages to "flat" messages
+# A filter that converts from multipart messages to "flat" messages
# (i.e. containing a single payload). This is required for Pipermail, and you
# may want to set it to 0 for external archivers. You can also replace it
# with your own module as long as it contains a process() function that takes
# a MailList object and a Message object. It should raise
# Errors.DiscardMessage if it wants to throw the message away. Otherwise it
# should modify the Message object as necessary.
-archive_scrubber: mailman.pipeline.scrubber
+archive_scrubber: mailman.archiving.pipermail.Pipermail
# This variable defines what happens to text/html subparts. They can be
# stripped completely, escaped, or filtered through an external program. The
diff --git a/src/mailman/pipeline/scrubber.py b/src/mailman/pipeline/scrubber.py
index 1148c6518..115bc77d1 100644
--- a/src/mailman/pipeline/scrubber.py
+++ b/src/mailman/pipeline/scrubber.py
@@ -27,6 +27,7 @@ __all__ = [
import os
import re
+import sys
import time
import errno
import hashlib
@@ -45,7 +46,6 @@ from zope.interface import implements
from mailman.Utils import oneline, websafe
from mailman.config import config
from mailman.core.errors import DiscardMessage
-from mailman.core.plugins import get_plugin
from mailman.i18n import _
from mailman.interfaces.handler import IHandler
from mailman.utilities.filesystem import makedirs
@@ -486,7 +486,10 @@ def save_attachment(mlist, msg, dir, filter_html=True):
fp.write(decodedpayload)
fp.close()
# Now calculate the url to the list's archive.
- baseurl = get_plugin('mailman.scrubber').list_url(mlist)
+ scrubber_path = config.scrubber.archive_scrubber
+ package_name, module_name = scrubber_path.rsplit('.', 1)
+ __import__(package_name)
+ baseurl = getattr(sys.modules[package_name], module_name).list_url(mlist)
if not baseurl.endswith('/'):
baseurl += '/'
# Trailing space will definitely be a problem with format=flowed.