X-Git-Url: https://git.madduck.net/etc/offlineimap.git/blobdiff_plain/59ebc2e3b63c361e24c22eab49a21f5c3ccced03..7f6aec793e90c72cb6699191e01ed412b6ceb3b7:/.offlineimap/helper.py?ds=inline diff --git a/.offlineimap/helper.py b/.offlineimap/helper.py index 573dd20..47b9825 100644 --- a/.offlineimap/helper.py +++ b/.offlineimap/helper.py @@ -2,12 +2,12 @@ import re, os, stat, time, atexit -base_excludes = ['delayed', 'outgoing', 'Trash', 'Sent', 'Queue'] +base_excludes = ['delayed', 'outgoing', 'Trash', 'Sent', 'Queue', 'sent'] full_excludes_re = ['discard', 'spool', 'spam', 'store\..+'] -prioritised = ['outgoing','resubmit','drafts','inbox','phd','ul','debian','sudetia','admin','retrain'] +prioritised = ['outgoing','resubmit','drafts','inbox','ardex','debian','sudetia','admin','retrain'] deprioritised = ['discard','spam','store','spool'] -def py_foldersort_seamus(x, y): +def py_foldersort_main(x, y): for prefix in prioritised: if x.startswith(prefix): return -1 @@ -20,44 +20,31 @@ def py_foldersort_seamus(x, y): return -1 return cmp(x, y) -def py_nametrans_seamus(x): +def py_nametrans(x): return re.sub('^INBOX', 'inbox', x) -def should_do_full_sync(): - FILE = os.path.expanduser('~/.var/offlineimap/lastrun') - INTERVAL = 86400/6 - now = int(time.time()) - - try: - since = now - os.stat(FILE)[stat.ST_MTIME] - except: - since = INTERVAL + 1 - - if since > INTERVAL: - @atexit.register - def write_trace(): - print 'Writing trace file…' - file(FILE, 'wb').close() - return True - - @atexit.register - def write_sync_notice(): - print 'Partial sync complete; next full sync in %d seconds…' \ - % (INTERVAL - since) - - return False - -def py_folderfilter_seamus(x): - +def py_folderfilter_main(x): if x in base_excludes: return False elif re.search('^(' + '|'.join(full_excludes_re) + ')', x): - return should_do_full_sync() + 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 ['seamus.madduck.net'] \ + return acct in ['madduck.net', 'madduck.net_bulk'] \ and not re.search('^(' + '|'.join(full_excludes_re_mbnames) + ')', x)