]>
git.madduck.net Git - etc/offlineimap.git/blobdiff - .offlineimap/helper.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
base_excludes = ['delayed', 'outgoing', 'Trash', 'Sent', 'Queue']
full_excludes_re = ['discard', 'spool', 'spam', 'store\..+']
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']
+prioritised = ['outgoing','resubmit','drafts','inbox','ardex ','debian','sudetia','admin','retrain']
deprioritised = ['discard','spam','store','spool']
def py_foldersort_main(x, y):
deprioritised = ['discard','spam','store','spool']
def py_foldersort_main(x, y):
def py_nametrans_main(x):
return re.sub('^INBOX', 'inbox', x)
def py_nametrans_main(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_main(x):
if x in base_excludes:
return False
elif re.search('^(' + '|'.join(full_excludes_re) + ')', 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()
+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
def py_folderfilter_mbnames(acct, x):
full_excludes_re_mbnames = ['retrain/(sp|h)am'] + full_excludes_re
- return acct in ['madduck.net'] \
+ return acct in ['madduck.net', 'madduck.net-bulk' ] \
and not re.search('^(' + '|'.join(full_excludes_re_mbnames) + ')', x)
and not re.search('^(' + '|'.join(full_excludes_re_mbnames) + ')', x)