summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2013-08-13 23:03:12 +0200
committerGravatar Tom Willemse2013-08-13 23:03:12 +0200
commit40d1ddede65da9e7d5f18303a90624da40e8408e (patch)
tree7f011f6f4d94ba558e02769d25aa3482b35691f2
downloadofflineimap-40d1ddede65da9e7d5f18303a90624da40e8408e.tar.gz
offlineimap-40d1ddede65da9e7d5f18303a90624da40e8408e.zip
Initial commit of my offlineimap configuration in vcsh
-rw-r--r--.offlineimap.py51
-rw-r--r--.offlineimaprc110
2 files changed, 161 insertions, 0 deletions
diff --git a/.offlineimap.py b/.offlineimap.py
new file mode 100644
index 0000000..fb4f66e
--- /dev/null
+++ b/.offlineimap.py
@@ -0,0 +1,51 @@
+from offlineimap import imaputil
+
+
+def lld_flagsimap2maildir(flagstring):
+ flagmap = {'\\seen': 'S',
+ '\\answered': 'R',
+ '\\flagged': 'F',
+ '\\deleted': 'T',
+ '\\draft': 'D',
+ 'gnus-expire': 'E'}
+ retval = []
+ imapflaglist = [x.lower() for x in flagstring[1:-1].split()]
+
+ for imapflag in imapflaglist:
+ if imapflag in flagmap:
+ retval.append(flagmap[imapflag])
+
+ retval.sort()
+ return set(retval)
+
+
+def lld_flagsmaildir2imap(list):
+ flagmap = {'S': '\\Seen',
+ 'R': '\\Answered',
+ 'F': '\\Flagged',
+ 'T': '\\Deleted',
+ 'D': '\\Draft',
+ 'E': 'gnus-expire'}
+ retval = []
+
+ for mdflag in list:
+ if mdflag in flagmap:
+ retval.append(flagmap[mdflag])
+
+ retval.sort()
+ return '(' + ' '.join(retval) + ')'
+
+imaputil.flagsmaildir2imap = lld_flagsmaildir2imap
+imaputil.flagsimap2maildir = lld_flagsimap2maildir
+
+
+def getuser(host):
+ import netrc
+ mynet = netrc.netrc()
+ return mynet.authenticators(host)[0]
+
+
+def getpassword(host):
+ import netrc
+ mynet = netrc.netrc()
+ return mynet.authenticators(host)[2]
diff --git a/.offlineimaprc b/.offlineimaprc
new file mode 100644
index 0000000..5b96d16
--- /dev/null
+++ b/.offlineimaprc
@@ -0,0 +1,110 @@
+# -*- mode: conf-unix; -*-
+[general]
+# NOTE: cronjob calls the quiet UI with -u
+ui = TTYUI
+accounts = ryuslash.org,gmail,aethon,ninthfloor
+pythonfile = ~/.offlineimap.py
+
+[Account ryuslash.org]
+localrepository = ryuslash.org-local
+remoterepository = ryuslash.org-remote
+# postsynchook = /home/slash/usr/bin/emacs-send-mail ryuslash.org
+
+[Repository ryuslash.org-local]
+type = Maildir
+localfolders = ~/documents/mail/ryuslash.org
+nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize())
+
+[Repository ryuslash.org-remote]
+type = IMAP
+remotehost = imap.alwaysdata.com
+remoteusereval = getuser("imap.alwaysdata.com")
+remotepasseval = getpassword("imap.alwaysdata.com")
+nametrans = lambda folder: folder.lower()
+
+[Account aethon]
+localrepository = aethon-local
+remoterepository = aethon-remote
+# postsynchook = /home/slash/usr/bin/emacs-send-mail aethon
+
+[Repository aethon-local]
+type = Maildir
+localfolders = ~/documents/mail/aethon
+nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Concepten', re.sub('^sent$', '[Gmail]/Verzonden berichten', re.sub('^trash$', '[Gmail]/Prullenbak', folder))))
+
+[Repository aethon-remote]
+type = Gmail
+remoteusereval = getuser("imap.google.com-aethon")
+remotepasseval = getpassword("imap.google.com-aethon")
+realdelete = no
+cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa
+folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Concepten', '[Gmail]/Verzonden berichten', '[Gmail]/Prullenbak']
+nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Concepten$', 'drafts', re.sub('^\[Gmail\]/Verzonden berichten$', 'sent', re.sub('^\[Gmail\]/Prullenbak$', 'trash', folder))))
+
+[Account gmail]
+localrepository = gmail-local
+remoterepository = gmail-remote
+# postsynchook = /home/slash/usr/bin/emacs-send-mail gmail
+
+[Repository gmail-local]
+type = Maildir
+localfolders = ~/documents/mail/gmail
+nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder))))
+
+[Repository gmail-remote]
+type = Gmail
+remoteusereval = getuser("imap.google.com")
+remotepasseval = getpassword("imap.google.com")
+realdelete = no
+cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa
+folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash']
+nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder))))
+
+[Account ninthfloor]
+localrepository = ninthfloor-local
+remoterepository = ninthfloor-remote
+# postsynchook = /home/slash/usr/bin/emacs-send-mail ninthfloor
+
+[Repository ninthfloor-local]
+type = Maildir
+localfolders = ~/documents/mail/ninthfloor
+nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize())
+
+[Repository ninthfloor-remote]
+type = IMAP
+remotehost = ninthfloor.org
+remoteusereval = getuser("ninthfloor.org")
+remotepasseval = getpassword("ninthfloor.org")
+nametrans = lambda folder: folder.lower()
+
+[Account arch]
+localrepository = arch-local
+remoterepository = arch-remote
+
+[Repository arch-local]
+type = Maildir
+localfolders = ~/documents/mail/arch
+nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder))))
+
+[Repository arch-remote]
+type = Gmail
+remoteusereval = getuser("imap.google.com-arch")
+remotepasseval = getpassword("imap.google.com-arch")
+realdelete = no
+cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042
+folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash']
+nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder))))
+
+[Account iactor]
+localrepository = iactor-local
+remoterepository = iactor-remote
+
+[Repository iactor-local]
+type = Maildir
+localfolders = ~/documents/mail/iactor
+
+[Repository iactor-remote]
+type = IMAP
+remotehost = mail.iactor.nl
+remoteusereval = getuser("mail.iactor.nl")
+remotepasseval = getpassword("mail.iactor.nl")