From 8a087452b5e415a9f29e1a020cb986893ae5cf84 Mon Sep 17 00:00:00 2001 From: bwarsaw Date: Wed, 24 Nov 1999 19:50:17 +0000 Subject: Convert message delivery to pipeline architecture by using HandlerAPI.DeliverToUser() for fast track delivery of the welcome messages. Stick everything in a main(). Simplify error reporting by using Mailman.Logging.Utils.LogStdErr --- scripts/mailowner | 42 +++++++++++++++++++++++------------------- scripts/owner | 42 +++++++++++++++++++++++------------------- 2 files changed, 46 insertions(+), 38 deletions(-) (limited to 'scripts') diff --git a/scripts/mailowner b/scripts/mailowner index e53c71201..0e90d8562 100755 --- a/scripts/mailowner +++ b/scripts/mailowner @@ -29,22 +29,26 @@ import sys import paths from Mailman import MailList from Mailman import Message -from Mailman.Logging.StampedLogger import StampedLogger - -try: - sys.stderr = StampedLogger("error", label = 'post', - manual_reprime=1, nofail=0) -except IOError: - pass # Oh well - SOL on redirect, errors show thru. - -# Only let one program per list run at any one time. TBD: This *can* fail, -# and should send back an error message when it does. -mlist = MailList.MailList(sys.argv[1]) -try: - msg = Message.Message(sys.stdin) - if not mlist.bounce_processing or not mlist.ScanMessage(msg): - mlist.DeliverToOwner(msg, mlist.owner) - -# Let another process run. -finally: - mlist.Unlock() +from Mailman.Handlers import HandlerAPI +from Mailman.Logging.Utils import LogStdErr + +LogStdErr('error', 'post') + + + +def main(): + # Only let one program per list run at any one time. TBD: This *can* + # fail, and should send back an error message when it does. + mlist = MailList.MailList(sys.argv[1]) + try: + msg = Message.Message(sys.stdin) + if not mlist.bounce_processing or not mlist.ScanMessage(msg): + msg.recips = mlist.owner + HandlerAPI.DeliverToUser(mlist, msg) + finally: + mlist.Save() + mlist.Unlock() + + +if __name__ == '__main__': + main() diff --git a/scripts/owner b/scripts/owner index e53c71201..0e90d8562 100755 --- a/scripts/owner +++ b/scripts/owner @@ -29,22 +29,26 @@ import sys import paths from Mailman import MailList from Mailman import Message -from Mailman.Logging.StampedLogger import StampedLogger - -try: - sys.stderr = StampedLogger("error", label = 'post', - manual_reprime=1, nofail=0) -except IOError: - pass # Oh well - SOL on redirect, errors show thru. - -# Only let one program per list run at any one time. TBD: This *can* fail, -# and should send back an error message when it does. -mlist = MailList.MailList(sys.argv[1]) -try: - msg = Message.Message(sys.stdin) - if not mlist.bounce_processing or not mlist.ScanMessage(msg): - mlist.DeliverToOwner(msg, mlist.owner) - -# Let another process run. -finally: - mlist.Unlock() +from Mailman.Handlers import HandlerAPI +from Mailman.Logging.Utils import LogStdErr + +LogStdErr('error', 'post') + + + +def main(): + # Only let one program per list run at any one time. TBD: This *can* + # fail, and should send back an error message when it does. + mlist = MailList.MailList(sys.argv[1]) + try: + msg = Message.Message(sys.stdin) + if not mlist.bounce_processing or not mlist.ScanMessage(msg): + msg.recips = mlist.owner + HandlerAPI.DeliverToUser(mlist, msg) + finally: + mlist.Save() + mlist.Unlock() + + +if __name__ == '__main__': + main() -- cgit v1.2.3-70-g09d2