X-Git-Url: https://git.madduck.net/etc/offlineimap.git/blobdiff_plain/8a99dcfaf1b4364abbeca1cc8392c81f2a33634a..2f0acf792cc5b95c5b5ce19f5e68c43c87976a90:/.offlineimap/helper.py?ds=sidebyside diff --git a/.offlineimap/helper.py b/.offlineimap/helper.py index 7719a8c..d7b47d3 100644 --- a/.offlineimap/helper.py +++ b/.offlineimap/helper.py @@ -1,6 +1,13 @@ +# -*- 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','phd','ul','debian','sudetia','admin','retrain'] +deprioritised = ['discard','spam','store','spool'] + def py_foldersort_seamus(x, y): - prioritised = ('outgoing','resubmit','drafts','inbox','phd','ul','debian','sudetia','admin','retrain') - deprioritised = ('discard','spam','store','spool') for prefix in prioritised: if x.startswith(prefix): return -1 @@ -13,23 +20,19 @@ def py_foldersort_seamus(x, y): return -1 return cmp(x, y) -import re - def py_nametrans_seamus(x): return re.sub('^INBOX', 'inbox', x) def should_do_full_sync(): - import os, stat, time FILE = os.path.expanduser('~/.var/offlineimap/lastrun') INTERVAL = 86400/2 now = int(time.time()) try: - mtime = os.stat(FILE)[stat.ST_MTIME] - except OSError: - mtime = 0 + since = now - os.stat(FILE)[stat.ST_MTIME] + except: + since = INTERVAL + 1 - since = now - mtime if since > INTERVAL: file(FILE, 'wb').close() return True @@ -40,7 +43,6 @@ def should_do_full_sync(): do_full_sync = should_do_full_sync() def py_folderfilter_seamus(x): - base_excludes = ['delayed', 'outgoing', 'Trash', 'Sent'] if do_full_sync: return x not in base_excludes @@ -54,5 +56,6 @@ def py_folderfilter_seamus(x): return True def py_folderfilter_mbnames(acct, x): + full_excludes_re_mbnames = ['retrain/(sp|h)am'] + full_excludes_re return acct in ['seamus.madduck.net'] \ - and not re.search('^(store(/.+)?|retrain/(ham|spam)|spool|discard|spam)', x) + and not re.search('^(' + '|'.join(full_excludes_re_mbnames) + ')', x)