diff options
| author | mailman | 1998-03-26 04:30:24 +0000 |
|---|---|---|
| committer | mailman | 1998-03-26 04:30:24 +0000 |
| commit | 208616d39e34183c3be724f39694cba40cb24a3d (patch) | |
| tree | 9433024c5753636b2b3c81b0875764bf23ed0eee | |
| parent | 9cf9893122a88efb68ca524f6bd9cfe047b02017 (diff) | |
| download | mailman-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-x | bin/populate_new_list | 34 |
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) |
