diff options
| author | bwarsaw | 1999-11-24 19:39:55 +0000 |
|---|---|---|
| committer | bwarsaw | 1999-11-24 19:39:55 +0000 |
| commit | 81b7204b66c11afc8d2ec844e8f0cd758cfbb9bd (patch) | |
| tree | 0217abe7e051a2f1e3416fa81fc04bcf9499a2c0 /bin | |
| parent | 94ac9f8ed9bb490b4e86a8562dbf98ff61067c9c (diff) | |
| download | mailman-81b7204b66c11afc8d2ec844e8f0cd758cfbb9bd.tar.gz mailman-81b7204b66c11afc8d2ec844e8f0cd758cfbb9bd.tar.zst mailman-81b7204b66c11afc8d2ec844e8f0cd758cfbb9bd.zip | |
Convert message delivery to pipeline architecture by using
HandlerAPI.DeliverToUser() for fast track delivery of the
welcome messages.
We also no longer need to call Utils.Reap() since that's gone now.
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/add_members | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/bin/add_members b/bin/add_members index c7d128c7f..97990c6de 100755 --- a/bin/add_members +++ b/bin/add_members @@ -68,11 +68,12 @@ import os import string import getopt import paths -import Mailman.MailList -import Mailman.Utils -import Mailman.Message -import Mailman.Errors -import Mailman.mm_cfg + +from Mailman import MailList +from Mailman import Utils +from Mailman import Message +from Mailman import Errors +from Mailman import mm_cfg def usage(status, msg=''): @@ -93,21 +94,23 @@ def ReadFile(filename): return lines -def SendExplanation(ml, users): - msg = Mailman.Message.OutgoingMessage() - msg['From'] = ml.GetAdminEmail()) - dict = {'listname' : ml.real_name, - 'listhost' : ml.host_name, - 'listaddr' : ml.GetListEmail(), - 'listinfo_url': ml.GetAbsoluteScriptURL('listinfo'), - 'requestaddr' : ml.GetRequestEmail(), - 'adminaddr' : ml.GetAdminEmail(), - 'version' : Mailman.mm_cfg.VERSION, - } - header = 'Big change in %(listname)s@%(listhost)s mailing list' % dict - msg['Subject'] = header - msg.AppendToBody(Mailman.Utils.maketext('convert.txt', dict)) - ml.DeliverToList(msg, users, None, None) +def SendExplanation(mlist, users): + adminaddr = mlist.GetAdminEmail() + d = {'listname' : mlist.real_name, + 'listhost' : mlist.host_name, + 'listaddr' : mlist.GetListEmail(), + 'listinfo_url': mlist.GetAbsoluteScriptURL('listinfo'), + 'requestaddr' : mlist.GetRequestEmail(), + 'adminaddr' : adminaddr, + 'version' : mm_cfg.VERSION, + } + text = Utils.maketext('convert.txt', d) + subject = 'Big change in %(listname)s@%(listhost)s mailing list' % d + msg = Message.OutgoingMessage(text) + msg['From'] = adminaddr + msg['Subject'] = subject + msg.recips = users + HandlerAPI.DeliverToUser(mlist, msg) @@ -161,8 +164,8 @@ def main(): sys.exit(1) try: - ml = Mailman.MailList.MailList(listname) - except Mailman.Errors.MMUnknownListError: + ml = MailList.MailList(listname) + except Errors.MMUnknownListError: usage(1, 'You must first create the list by running: newlist %s' % listname) if send_welcome_msg == -1: @@ -201,19 +204,15 @@ def main(): # `name' was not subscribed, find out why. On failures, # result[name] is set from sys.exc_info()[:2] e, v = result[name] - if e is Mailman.Errors.MMAlreadyAMember: + if e is Errors.MMAlreadyAMember: print 'Already subscribed (skipping):', name - elif issubclass(e, Mailman.Errors.EmailAddressError): + elif issubclass(e, Errors.EmailAddressError): if name == '': name = '( blank line )' print "Not a valid email address:", name if send_changes_msg: SendExplanation(ml, nmembers + dmembers) finally: - while 1: - children = Mailman.Utils.Reap() - if not children: - break ml.Unlock() main() |
