Nội dung sau trích từ phần hướng dẫn của withlist:
Here's an example of how to use the -r option. Say you have a file in the
Mailman installation directory called `listaddr.py', with the following
two functions:
def listaddr(mlist):
print mlist.GetListEmail()
def requestaddr(mlist):
print mlist.GetRequestEmail()
Now, from the command line you can print the list's posting address by running
the following from the command line:
% bin/withlist -r listaddr mylist
Loading list: mylist (unlocked)
Importing listaddr ...
Running listaddr.listaddr() ...
mylist@myhost.com
And you can print the list's request address by running:
% bin/withlist -r listaddr.requestaddr mylist
Loading list: mylist (unlocked)
Importing listaddr ...
Running listaddr.requestaddr() ...
mylist-request@myhost.com
Ví dụ trên là cơ sở để viết các module thực hiện các thao tác theo ý muốn. Để xem trợ giúp các hàm/biến của module Mailman:
$ (MAILMAN_DIR)/bin/withlist listname
Loading list(unlocked)
The variable `m' is the listname MailList instance
>>> help()
help> modules Mailman
Script sau dùng là một ví dụ dùng để đặt option khi tạo member mới cho một list:
---mmtool.py---
from Mailman import mm_cfg
# setting the default new member options
def set_new_member_options(mList):
mList.Lock()
mList.new_member_options=258
mList.Save()
mList.Unlock()
# resetting option notmetoo for all exist members
def reset_notmetoo_options(mList):
mList.Lock()
for member in mList.getMembers():
mList.setMemberOption(member, mm_cfg.DontReceiveOwnPosts, 1)
mList.Save()
mList.Unlock()
---mmtool.py---
Sử dụng:
- Đặt new_member_options cho một list
$ (MAILMAN_DIR)/bin/withlist -r mmtool.set_new_member_options listname
- Reset notmetoo option cho tất cả các list
$ (MAILMAN_DIR)/bin/withlist -a -r mmtool.reset_notmetoo_options
Happy Pythoning!
No comments:
Post a Comment