[Mailman-Users] Re: withlist changepw.py help
Barry A. Warsaw
barry at zope.com
Sun Dec 8 06:58:53 CET 2002
>>>>> "AS" == Ajay Sharma <ssharma at odc.net> writes:
AS> I'm not a python programmer, but I can get around. Anyway, I
AS> started to play with the "/bin/withlist" program to get a
AS> command-line method to change passwords. My changepw.py
AS> program looks like:
| import string
| def changepw(mlist, addr, newpasswd):
| addr = string.lower(addr)
| if mlist.passwords.has_key(addr):
| mlist.passwords[string.lower(addr)] = newpasswd
| mlist.Save()
| else:
| print 'No address matched:', addr
AS> [mailman at server bin]$ ./withlist -l -r changepw list addr
AS> newpass Loading list: list (locked) Importing changepw ...
AS> Running changepw.changepw() ... Unlocking (but not saving)
AS> list: list Finalizing
AS> So why doesn't it save the changes to the list after the
AS> password is changed??
If this is Mailman 2.1, I'd write changepw.py like so (untested):
-------------------- snip snip --------------------
from Mailman import Errors
def changepw(mlist, addr, newpasswd):
try:
mlist.setMemberPassword(addr, newpasswd)
except Errors.NotAMember:
print 'Not a member address:', addr
except Errors.BadPasswordError:
print 'Not a valid password'
else:
mlist.Save()
-------------------- snip snip --------------------
-Barry
More information about the Mailman-Users
mailing list