[Mailman-Users] Changing parameters for one [or many] users from the command line

Mark Sapiro mark at msapiro.net
Thu May 22 05:03:50 CEST 2014


On 05/21/2014 06:11 PM, Bernie Cosell wrote:
> I'd like to change several of the parameters [digest, nomail, etc] for a 
> bunch of users on one of my lists.  I've looked through the list of 
> commands in /bin and I don't see a way to modify the parameter settings 
> from the command line [and it'll be real tedious to do it one at a time 
> from the admin interface].  Is there a way to do it?


Assuming you want to set the same settings for all members, it's easy
via withlist, See for example the script at
<http://www.msapiro.net/scripts/set_nodups.py>. This sets all members of
a list to "nodups". If you wanted to set all members to receive dups,
you would change the line

        mlist.setMemberOption(member, mm_cfg.DontReceiveDuplicates, 1)

to

        mlist.setMemberOption(member, mm_cfg.DontReceiveDuplicates, 0)

If you wanted to set all members to not receive dups, not receive their
own posts and receive acknowledgement of their posts, you would leave
the one line as in the original and add two more as follows:

        mlist.setMemberOption(member, mm_cfg.DontReceiveDuplicates, 1)
        mlist.setMemberOption(member, mm_cfg.DontReceiveOwnPosts, 1)
        mlist.setMemberOption(member, mm_cfg.AcknowledgePosts, 1)

See the section "Bitfield for user options" in Mailman/Defaults.py for
the symbolic names of the options as used above.

Note that the comment in that section about Digests not needing a bit
flag doesn't imply you don't (re)set it this way. You'd still use

        mlist.setMemberOption(member, mm_cfg.Digests, 1)

to set members to digest and

        mlist.setMemberOption(member, mm_cfg.Digests, 0)

to set them to messages, but also see
<http://www.msapiro.net/scripts/set_nodigest.py>

Also, nomail is handled differently. Here you'd need

from Mailman import MemberAdaptor

at the beginning of your script and

        mlist.setDeliveryStatus(member, MemberAdaptor.BYADMIN)

to set nomail by admin. There's a script at
<http://www.msapiro.net/scripts/set_nomail.py> that sets nomail, but it
probably has more options than you need.

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan


More information about the Mailman-Users mailing list