summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormailman1998-03-26 04:30:24 +0000
committermailman1998-03-26 04:30:24 +0000
commit208616d39e34183c3be724f39694cba40cb24a3d (patch)
tree9433024c5753636b2b3c81b0875764bf23ed0eee
parent9cf9893122a88efb68ca524f6bd9cfe047b02017 (diff)
downloadmailman-208616d39e34183c3be724f39694cba40cb24a3d.tar.gz
mailman-208616d39e34183c3be724f39694cba40cb24a3d.tar.zst
mailman-208616d39e34183c3be724f39694cba40cb24a3d.zip
Make digest-members-file and optional command line arg.
Catch linst-unfound error and handle nicely. Put missing CR in stderr error msg writes.
-rwxr-xr-xbin/populate_new_list34
1 files changed, 21 insertions, 13 deletions
diff --git a/bin/populate_new_list b/bin/populate_new_list
index 5cbab9aab..3b0ef535c 100755
--- a/bin/populate_new_list
+++ b/bin/populate_new_list
@@ -19,25 +19,33 @@ def GetRandomPassword():
return "%s%s" % (mm_utils.GetRandomSeed(), mm_utils.GetRandomSeed())
def main(argv):
- if len(argv) != 4:
+ if len(argv) not in [3, 4]:
print ('Usage: populate_new_list <list name> '
- '<non-digest-members-file> <digest-members-file>')
+ '<non-digest-members-file> [ <digest-members-file> ]')
sys.exit(0)
- list = maillist.MailList(sys.argv[1])
+ try:
+ list = maillist.MailList(sys.argv[1])
+ except mm_err.MMUnknownListError, msg:
+ sys.stderr.write("list %s not found\n" % `argv[1]`)
+ sys.exit(1)
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:
+ 'Failed open of non-digest members file, ignoring.')
+
+ if len(argv) == 4:
+ try:
+ digest_members = string.split(open(sys.argv[3]).read(), '\n')
+ except IOError:
+ digest_members = []
+ sys.stderr.write(
+ 'Failed open of digest members file, ignoring.')
+ else:
digest_members = []
- sys.stderr.write(
- 'Failed opening of digest members file, ignoring.')
def FormatMembers(mbrs):
def NotNull(str):
@@ -52,7 +60,7 @@ def main(argv):
try:
list.ApprovedAddMember(member, pw, 0)
except mm_err.MMAlreadyAMember:
- sys.stderr.write("%s: %s already a member" %
+ sys.stderr.write("%s: %s already a member\n" %
(list.real_name, member))
for member in digest_members:
@@ -60,8 +68,8 @@ def main(argv):
try:
list.ApprovedAddMember(member, pw, 1)
except mm_err.MMAlreadyAMember:
- sys.stderr.write("%s: %s already a member" %
+ sys.stderr.write("%s: %s already a member\n" %
(list.real_name, member))
-
-
+if __name__ == "__main__":
+ main(sys.argv)