diff options
| author | Barry Warsaw | 2008-02-08 08:12:04 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2008-02-08 08:12:04 -0500 |
| commit | 3bf12766c0e16a2259a77f76b3a98b457788b5d3 (patch) | |
| tree | d0a6a3e8285372e4a816fff842673fe39ba96bdd /Mailman/queue | |
| parent | 0478757a09b4173937d75103fa96444b6b085300 (diff) | |
| download | mailman-3bf12766c0e16a2259a77f76b3a98b457788b5d3.tar.gz mailman-3bf12766c0e16a2259a77f76b3a98b457788b5d3.tar.zst mailman-3bf12766c0e16a2259a77f76b3a98b457788b5d3.zip | |
Diffstat (limited to 'Mailman/queue')
| -rw-r--r-- | Mailman/queue/docs/incoming.txt | 20 | ||||
| -rw-r--r-- | Mailman/queue/incoming.py | 2 | ||||
| -rw-r--r-- | Mailman/queue/pipeline.py | 39 |
3 files changed, 49 insertions, 12 deletions
diff --git a/Mailman/queue/docs/incoming.txt b/Mailman/queue/docs/incoming.txt index 04c0cfa04..9dc22a9ef 100644 --- a/Mailman/queue/docs/incoming.txt +++ b/Mailman/queue/docs/incoming.txt @@ -22,7 +22,7 @@ Accepted messages We have a message that is going to be sent to the mailing list. This message is so perfectly fine for posting that it will be accepted and forward to the -prep queue. +pipeline queue. >>> msg = message_from_string("""\ ... From: aperson@example.com @@ -46,18 +46,18 @@ The incoming queue runner runs until it is empty. >>> incoming = make_testable_runner(IncomingRunner) >>> incoming.run() -And now the message is in the prep queue. +And now the message is in the pipeline queue. >>> from Mailman.configuration import config >>> from Mailman.queue import Switchboard - >>> prep_queue = Switchboard(config.PREPQUEUE_DIR) - >>> len(prep_queue.files) + >>> pipeline_queue = Switchboard(config.PIPELINEQUEUE_DIR) + >>> len(pipeline_queue.files) 1 >>> incoming_queue = Switchboard(config.INQUEUE_DIR) >>> len(incoming_queue.files) 0 >>> from Mailman.tests.helpers import get_queue_messages - >>> item = get_queue_messages(prep_queue)[0] + >>> item = get_queue_messages(pipeline_queue)[0] >>> print item.msg.as_string() From: aperson@example.com To: _xtest@example.com @@ -78,8 +78,8 @@ Held messages ------------- The list moderator sets the emergency flag on the mailing list. The built-in -chain will now hold all posted messages, so nothing will show up in the prep -queue. +chain will now hold all posted messages, so nothing will show up in the +pipeline queue. # XXX This checks the vette log file because there is no other evidence # that this chain has done anything. @@ -92,7 +92,7 @@ queue. >>> inject(u'_xtest@example.com', msg) >>> file_pos = fp.tell() >>> incoming.run() - >>> len(prep_queue.files) + >>> len(pipeline_queue.files) 0 >>> len(incoming_queue.files) 0 @@ -124,7 +124,7 @@ new chain and set it as the mailing list's start chain. >>> inject(u'_xtest@example.com', msg) >>> file_pos = fp.tell() >>> incoming.run() - >>> len(prep_queue.files) + >>> len(pipeline_queue.files) 0 >>> len(incoming_queue.files) 0 @@ -158,7 +158,7 @@ tests above. >>> inject(u'_xtest@example.com', msg) >>> file_pos = fp.tell() >>> incoming.run() - >>> len(prep_queue.files) + >>> len(pipeline_queue.files) 0 >>> len(incoming_queue.files) 0 diff --git a/Mailman/queue/incoming.py b/Mailman/queue/incoming.py index 649ce2213..55d653990 100644 --- a/Mailman/queue/incoming.py +++ b/Mailman/queue/incoming.py @@ -26,8 +26,6 @@ prepared for delivery. Rejections, discards, and holds are processed immediately. """ - - from Mailman.app.chains import process from Mailman.configuration import config from Mailman.queue import Runner diff --git a/Mailman/queue/pipeline.py b/Mailman/queue/pipeline.py new file mode 100644 index 000000000..5ccee0a20 --- /dev/null +++ b/Mailman/queue/pipeline.py @@ -0,0 +1,39 @@ +# Copyright (C) 2008 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 +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + +"""The pipeline queue runner. + +This runner's purpose is to take messages that have been approved for posting +through the 'preparation pipeline'. This pipeline adds, deletes and modifies +headers, calculates message recipients, and more. +""" + +from Mailman.app.pipeline import process +from Mailman.configuration import config +from Mailman.queue import runner + + + +class PipelineRunner(Runner): + QDIR = config.PIPELINEQUEUE_DIR + + def _dispose(self, mlist, msg, msgdata): + # Process the message through the mailing list's pipeline. + process(mlist, msg, msgdata, mlist.pipeline) + # Do not keep this message queued. + return False + |
