Change user settings through command line
Hi all,
Is it possible with Mailman 2.1.4-1 to change user settings from a command line tool? For example set nomail to 1 for a user on a mailing list? I looked in the bin directory and none of the utilities appear to be designed to do this, does anyone have any suggestions?
Tia
Regards Geoff
On May 6, 2004, at 17:25, Geoff Powell wrote:
Is it possible with Mailman 2.1.4-1 to change user settings from a command line tool? For example set nomail to 1 for a user on a mailing list? I looked in the bin directory and none of the utilities appear to be designed to do this, does anyone have any suggestions?
You can do this sort of thing with 'withlist'.
$ bin/withlist -l -i mylist m.setDeliveryStatus('user@domain.com', MailList.MemberAdaptor.BYADMIN) m.Save() {ctrl-D}
If this is the sort of thing you are going to do often, you should create a little Python script to remember the messy bits and save some typing. You could create a file called nomail.py containing:
from Mailman.Errors import NotAMemberError from Mailman.MemberAdaptor import BYADMIN
def nomail(m, addr): try: m.setDeliveryStatus(addr, BYADMIN) m.Save() except NotAMemberError: print 'No address matched:', addr
Then to disable someone, do (either explicitly or with a script or alias):
$ bin/withlist -l -r nomail mylist user@domain.com
-- Jim Tittsler http://www.OnJapan.net/ GPG: 0x01159DB6 Python Starship http://Starship.Python.net/ Ringo MUG Tokyo http://www.ringo.net/rss.html
participants (2)
-
Geoff Powell
-
Jim Tittsler