# -*- coding: utf-8 -*- import re, os, stat, time, atexit base_excludes = ['delayed', 'outgoing', 'Trash', 'Sent', 'Queue'] full_excludes_re = ['discard', 'spool', 'spam', 'store\..+'] prioritised = ['outgoing','resubmit','drafts','inbox','ardex','debian','sudetia','admin','retrain'] deprioritised = ['discard','spam','store','spool'] def py_foldersort_main(x, y): for prefix in prioritised: if x.startswith(prefix): return -1 elif y.startswith(prefix): return +1 for prefix in deprioritised: if x.startswith(prefix): return +1 elif y.startswith(prefix): return -1 return cmp(x, y) def py_nametrans_main(x): return re.sub('^INBOX', 'inbox', x) def py_folderfilter_main(x): if x in base_excludes: 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'] \ and not re.search('^(' + '|'.join(full_excludes_re_mbnames) + ')', x)