This commit assembles a dictionary mapping user-specified IMAP keywords to Maildir lower-case flags, similar to Dovecot's format http://wiki2.dovecot.org/MailboxFormat/Maildir
Configuration example: [Repository Local] type = Maildir localfolders = ~/Maildir/ customflag_a = $label1 customflag_b = $Forwarded customflag_c = Junk Signed-off-by: Igor Almeida <[email protected]> --- offlineimap/repository/Base.py | 3 +++ offlineimap/repository/Maildir.py | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/offlineimap/repository/Base.py b/offlineimap/repository/Base.py index adae16d..8634628 100644 --- a/offlineimap/repository/Base.py +++ b/offlineimap/repository/Base.py @@ -133,6 +133,9 @@ class BaseRepository(CustomConfig.ConfigHelperMixin, object): def getsep(self): raise NotImplementedError + def getkeywordmap(self): + raise NotImplementedError + def should_sync_folder(self, fname): """Should this folder be synced?""" diff --git a/offlineimap/repository/Maildir.py b/offlineimap/repository/Maildir.py index 0262ba2..fef57f3 100644 --- a/offlineimap/repository/Maildir.py +++ b/offlineimap/repository/Maildir.py @@ -39,6 +39,14 @@ class MaildirRepository(BaseRepository): if not os.path.isdir(self.root): os.mkdir(self.root, 0o700) + # Create the keyword->char mapping + self.keyword2char = dict() + for c in 'abcdefghijklmnopqrstuvwxyz': + confkey = 'customflag_' + c + keyword = self.getconf(confkey, None) + if keyword is not None: + self.keyword2char[keyword] = c + def _append_folder_atimes(self, foldername): """Store the atimes of a folder's new|cur in self.folder_atimes""" @@ -72,6 +80,9 @@ class MaildirRepository(BaseRepository): def getsep(self): return self.getconf('sep', '.').strip() + def getkeywordmap(self): + return self.keyword2char + def makefolder(self, foldername): """Create new Maildir folder if necessary -- 2.5.3 _______________________________________________ OfflineIMAP-project mailing list: [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/offlineimap-project OfflineIMAP homepages: - https://github.com/OfflineIMAP - http://offlineimap.org
