summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormailman1998-03-21 06:04:03 +0000
committermailman1998-03-21 06:04:03 +0000
commit632acd176173d250f7dc7b1eab12e75bf64d09b7 (patch)
tree093c6e48f342ad3422639ba1c5231d3197a03a28
parent32780964bcc7a7702e67fe199ef83777e4ee6ced (diff)
downloadmailman-632acd176173d250f7dc7b1eab12e75bf64d09b7.tar.gz
mailman-632acd176173d250f7dc7b1eab12e75bf64d09b7.tar.zst
mailman-632acd176173d250f7dc7b1eab12e75bf64d09b7.zip
Polish a bit so we can use to mass subscribe users, error free.
(This should be called "populate_list", not "populate_new_list".)
-rwxr-xr-xbin/populate_new_list26
1 files changed, 17 insertions, 9 deletions
diff --git a/bin/populate_new_list b/bin/populate_new_list
index 0349bf135..dfb16e28d 100755
--- a/bin/populate_new_list
+++ b/bin/populate_new_list
@@ -1,17 +1,19 @@
#!/usr/local/bin/python
-#
-# argv[1] should be the name of the list.
-# argv[2] should be the list of non-digested users.
-# argv[3] should be the list of digested users.
-# Make sure that the list of email addresses doesn't contain any comments,
-# like majordomo may throw in. For now, you just have to remove them manually.
+"""Populate a mailman list with the addresses specified in files.
+
+ - argv[1]: the list name.
+ - 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 -
+just email addrs, one per line."""
import sys, os, crypt, string
sys.path.append('/home/mailman/mailman/modules')
-import maillist, mm_utils, mm_message, mm_cfg
+import maillist, mm_utils, mm_message, mm_cfg, mm_err
@@ -52,11 +54,17 @@ digest_members = FormatMembers(digest_members)
for member in non_digest_members:
pw = GetRandomPassword()
- list.ApprovedAddMember(member, pw, 0)
+ 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()
- list.ApprovedAddMember(member, pw, 1)
+ try:
+ list.ApprovedAddMember(member, pw, 1)
+ except mm_err.MMAlreadyAMember:
+ print "%s: %s already a member" % (list.real_name, member)