Commit | Line | Data |
---|---|---|
cc44d7f5 FB |
1 | #!/usr/bin/python |
2 | ||
3 | import sys | |
4 | sys.path.append('/usr/lib/mailman/bin') | |
5 | import paths | |
6 | from Mailman import MailList | |
7 | from Mailman import Utils | |
8 | from Mailman import mm_cfg | |
9 | ||
10 | def get_bogo_level(mlist): | |
11 | """ Retreive the old style bogo level """ | |
12 | try: | |
13 | if mlist.header_filter_rules == []: | |
14 | return 0 | |
15 | try: | |
16 | action = mlist.header_filter_rules[1][1] | |
17 | return 2 | |
18 | except: | |
19 | action = mlist.header_filter_rules[0][1] | |
20 | if action == mm_cfg.HOLD: | |
21 | return 1 | |
22 | elif action == mm_cfg.DISCARD: | |
23 | return 3 | |
24 | except: | |
25 | return 0 | |
26 | ||
27 | def set_bogo_level(mlist, level): | |
28 | """ Convert bogo level to the new level structure """ | |
29 | if level == 0: | |
30 | return | |
31 | hfr = [] | |
32 | if level == 1: | |
bb2dae30 | 33 | hfr.append(('X-Spam-Flag: Unsure, tests=bogofilter', mm_cfg.HOLD, False)) |
cc44d7f5 FB |
34 | hfr.append(('X-Spam-Flag: Yes, tests=bogofilter', mm_cfg.HOLD, False)) |
35 | elif level == 2: | |
bb2dae30 | 36 | hfr.append(('X-Spam-Flag: Unsure, tests=bogofilter', mm_cfg.HOLD, False)) |
cc44d7f5 FB |
37 | hfr.append(('X-Spam-Flag: Yes, tests=bogofilter, spamicity=(0\.999999|1\.000000)', mm_cfg.DISCARD, False)) |
38 | hfr.append(('X-Spam-Flag: Yes, tests=bogofilter', mm_cfg.HOLD, False)) | |
39 | elif level == 3: | |
bb2dae30 | 40 | hfr.append(('X-Spam-Flag: Unsure, tests=bogofilter', mm_cfg.HOLD, False)) |
cc44d7f5 FB |
41 | hfr.append(('X-Spam-Flag: Yes, tests=bogofilter', mm_cfg.DISCARD, False)) |
42 | mlist.Lock() | |
43 | mlist.header_filter_rules = hfr | |
44 | mlist.Save() | |
45 | mlist.Unlock() | |
46 | ||
47 | ||
48 | names = Utils.list_names() | |
49 | names.sort() | |
50 | for name in names: | |
51 | mlist = MailList.MailList(name, lock=0) | |
52 | set_bogo_level(mlist, get_bogo_level(mlist)) | |
53 |