Назад | Перейти на главную страницу

Изменение флага модерации члена списка в Mailman с помощью командной строки

Есть ли способ изменить флаг модерации члена списка из командной строки с помощью Mailman?

Включите модерируемый бит:

/usr/lib/mailman/bin/withlist -r mod.set $currentlist $user 1

Отключить модерируемый бит:

/usr/lib/mailman/bin/withlist -r mod.set $currentlist $user 0

В двух приведенных выше утверждениях замените $currentlist с именем списка и $user с подписанным адресом члена.

Используя "mod.py":

#! /usr/bin/python
# mod.py

from Mailman import mm_cfg
import sys

def mod(list):
    for member in list.getMembers():
        if list.getMemberOption(member, mm_cfg.Moderate):
            print member, "is moderated"

def set(list, member, value):
    value = not not (int(value))
    if list.isMember(member):
        list.Lock()
        list.setMemberOption(member, mm_cfg.Moderate, value)
        print "%s's moderated flag set to %d" % (member, value)
        list.Save()
        list.Unlock()
    else:
        print member, "not a member"

Скрипт на Python есть в http://www.msapiro.net/scripts/set_mod.py это может сделать то, что вам нужно. Я не знаю ничего, что на самом деле идет с почтальоном для этого.