# -*- coding: utf-8 -*-
-import re, os, stat, time, atexit
+import re
-base_excludes = ['delayed', 'outgoing', 'Trash', 'Sent', 'Queue']
-full_excludes_re = ['discard', 'spool', 'spam', 'store\..+']
-prioritised = ['outgoing','resubmit','drafts','inbox','ardex','debian','sudetia','admin','retrain']
+base_excludes = ['delayed', 'outgoing', 'Trash', 'Queue', 'inbox', 'Spam', 'Sent', 'Drafts']
+base_excludes_re = [ '[Ss]ent.*' ]
+full_excludes_re = ['discard', 'spool', 'spam', 'store/.+']
+prioritised = ['resubmit','drafts','inbox','ardex','kbkg','toni','tahi','debian','mtfk','admin','retrain']
deprioritised = ['discard','spam','store','spool']
def py_foldersort_main(x, y):
return +1
elif y.startswith(prefix):
return -1
- return cmp(x, y)
+ return (x > y) - (x < y)
-def py_nametrans_main(x):
+def py_nametrans(x):
return re.sub('^INBOX', 'inbox', x)
def py_folderfilter_main(x):
if x in base_excludes:
return False
+ elif re.search('^(' + '|'.join(base_excludes_re) + ')', x):
+ return False
+
elif re.search('^(' + '|'.join(full_excludes_re) + ')', x):
return False
return True
+def py_foldersort_bulk(x, y):
+ if x == 'spool': return -1
+ if y == 'spool': return 1
+ if x in ('discard', 'spam'): return 1
+ if y in ('discard', 'spam'): return -1
+
def py_folderfilter_bulk(x):
if re.search('^(' + '|'.join(full_excludes_re) + ')', x):
return True
return False
def py_folderfilter_mbnames(acct, x):
- full_excludes_re_mbnames = ['retrain/(sp|h)am'] + full_excludes_re
- return acct in ['madduck.net', 'madduck.net-bulk'] \
+ full_excludes_re_mbnames = ['retrain(/(sp|h)am)?$'] + full_excludes_re
+ return acct in ['madduck.net', 'madduck.net_bulk'] \
and not re.search('^(' + '|'.join(full_excludes_re_mbnames) + ')', x)