diff options
| author | mailman | 1998-03-24 05:03:23 +0000 |
|---|---|---|
| committer | mailman | 1998-03-24 05:03:23 +0000 |
| commit | a1d8f494f75be8822f672ccdf6bb36b310acdae8 (patch) | |
| tree | a1be2a59f50223dbe0097deca243ee8fe313a6a5 /bin | |
| parent | 8a66fc7bd6a36fae8162b8e066f74b2d028f7125 (diff) | |
| download | mailman-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-x | bin/populate_new_list | 79 |
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) - |
