summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authormailman1998-03-24 05:03:23 +0000
committermailman1998-03-24 05:03:23 +0000
commita1d8f494f75be8822f672ccdf6bb36b310acdae8 (patch)
treea1be2a59f50223dbe0097deca243ee8fe313a6a5 /bin
parent8a66fc7bd6a36fae8162b8e066f74b2d028f7125 (diff)
downloadmailman-a1d8f494f75be8822f672ccdf6bb36b310acdae8.tar.gz
mailman-a1d8f494f75be8822f672ccdf6bb36b310acdae8.tar.zst
mailman-a1d8f494f75be8822f672ccdf6bb36b310acdae8.zip
Encapsulated bare code in a 'main()'.
Made script so it wouldn't bomb on first conflicitng add member - but would announce the problem.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/populate_new_list79
1 files changed, 38 insertions, 41 deletions
diff --git a/bin/populate_new_list b/bin/populate_new_list
index dfb16e28d..5cbab9aab 100755
--- a/bin/populate_new_list
+++ b/bin/populate_new_list
@@ -6,7 +6,7 @@
- argv[2]: the path to a file of non-digest user addresses
- argv[3]: the path to a file of digest user addresses
-The email address lists must not have comments or other fance formatting -
+The email address lists must not have comments or other fancy formatting -
just email addrs, one per line."""
import sys, os, crypt, string
@@ -15,56 +15,53 @@ sys.path.append('/home/mailman/mailman/modules')
import maillist, mm_utils, mm_message, mm_cfg, mm_err
-
-
def GetRandomPassword():
return "%s%s" % (mm_utils.GetRandomSeed(), mm_utils.GetRandomSeed())
+def main(argv):
+ if len(argv) != 4:
+ print ('Usage: populate_new_list <list name> '
+ '<non-digest-members-file> <digest-members-file>')
+ sys.exit(0)
-if len(sys.argv) <> 4:
- print 'Usage: populate_new_list <list name> <non-digest-members-file> <digest-members-file>'
- sys.exit(0)
-
-try:
list = maillist.MailList(sys.argv[1])
-except:
- print 'run newlist first...'
- sys.exit(0)
-
-try:
- non_digest_members = string.split(open(sys.argv[2]).read(), '\n')
-except:
- non_digest_members = []
- print 'file for non-digest members could not be opened. Ignoring.'
-try:
- digest_members = string.split(open(sys.argv[3]).read(), '\n')
-except:
- digest_members = []
- print 'file for digest members could not be opened. Ignoring.'
+ try:
+ non_digest_members = string.split(open(sys.argv[2]).read(), '\n')
+ except IOError:
+ non_digest_members = []
+ sys.stderr.write(
+ 'Failed opening of non-digest members file, ignoring.')
+ try:
+ digest_members = string.split(open(sys.argv[3]).read(), '\n')
+ except IOError:
+ digest_members = []
+ sys.stderr.write(
+ 'Failed opening of digest members file, ignoring.')
-def FormatMembers(mbrs):
- def NotNull(str):
- return str
- return filter(NotNull, map(string.strip, mbrs))
+ def FormatMembers(mbrs):
+ def NotNull(str):
+ return str
+ return filter(NotNull, map(string.strip, mbrs))
-non_digest_members = FormatMembers(non_digest_members)
-digest_members = FormatMembers(digest_members)
+ non_digest_members = FormatMembers(non_digest_members)
+ digest_members = FormatMembers(digest_members)
+ for member in non_digest_members:
+ pw = GetRandomPassword()
+ try:
+ list.ApprovedAddMember(member, pw, 0)
+ except mm_err.MMAlreadyAMember:
+ sys.stderr.write("%s: %s already a member" %
+ (list.real_name, member))
-for member in non_digest_members:
- pw = GetRandomPassword()
- try:
- list.ApprovedAddMember(member, pw, 0)
- except mm_err.MMAlreadyAMember:
- print "%s: %s already a member" % (list.real_name, member)
+ for member in digest_members:
+ pw = GetRandomPassword()
+ try:
+ list.ApprovedAddMember(member, pw, 1)
+ except mm_err.MMAlreadyAMember:
+ sys.stderr.write("%s: %s already a member" %
+ (list.real_name, member))
-for member in digest_members:
- pw = GetRandomPassword()
- try:
- list.ApprovedAddMember(member, pw, 1)
- except mm_err.MMAlreadyAMember:
- print "%s: %s already a member" % (list.real_name, member)
-