From dca5f1846df678baf6d71fb565080c77fc43d057 Mon Sep 17 00:00:00 2001 From: Urs Liska Date: Tue, 26 Sep 2017 15:16:15 +0200 Subject: [PATCH] utf8 (aside): Move code for decodefoldernames While intending *not* to change the behaviour of the existing decodefoldernames option this commit transparently improves the coding. So far this worked by overriding the folder's getvisiblename() method which reads self.visiblename from and applies the conversion on *every* invocation of getvisiblename(). This commit does the calculation once in the IMAPFolder's __init__. Signed-off-by: Urs Liska Signed-off-by: Nicolas Sebrecht --- offlineimap/folder/IMAP.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/offlineimap/folder/IMAP.py b/offlineimap/folder/IMAP.py index a46ef31..a23708c 100644 --- a/offlineimap/folder/IMAP.py +++ b/offlineimap/folder/IMAP.py @@ -47,6 +47,8 @@ class IMAPFolder(BaseFolder): name = imaputil.dequote(name) self.sep = imapserver.delim super(IMAPFolder, self).__init__(name, repository) + if repository.getdecodefoldernames(): + self.visiblename = imaputil.decode_mailbox_name(self.visiblename) self.idle_mode = False self.expunge = repository.getexpunge() self.root = None # imapserver.root @@ -290,13 +292,6 @@ class IMAPFolder(BaseFolder): 'keywords': keywords} self.ui.messagelistloaded(self.repository, self, self.getmessagecount()) - # Interface from BaseFolder - def getvisiblename(self): - vname = super(IMAPFolder, self).getvisiblename() - if self.repository.getdecodefoldernames(): - return imaputil.decode_mailbox_name(vname) - return vname - # Interface from BaseFolder def getmessage(self, uid): """Retrieve message with UID from the IMAP server (incl body).