[PATCH] Fix caching inconsistencies in getselectedfolder()
Sebastian Spaeth
Sebastian at SSpaeth.de
Wed Jul 6 22:15:33 BST 2011
getselectedfolder was using a cached variable that we were setting in
select(), but sometimes the IMAP4 instance got into the SELECTED state
without explicitely select()ing, it seems, and our variable was unset.
Let us just use the self.mailbox variable that imaplib2 is setting when
select()ing rather than doing our own caching. Also remove the part
where we were setting the cache.
Just access self.state rather than looking up self.state via
self.getstate() every time, it is just an unnecessary layer of
redirection.
Signed-off-by: Sebastian Spaeth <Sebastian at SSpaeth.de>
---
In addition to Arnaud's patch, this also removes the part where we were
setting the unneeded cached variable.
offlineimap/imaplibutil.py | 10 ++--------
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/offlineimap/imaplibutil.py b/offlineimap/imaplibutil.py
index 20ab336..6492086 100644
--- a/offlineimap/imaplibutil.py
+++ b/offlineimap/imaplibutil.py
@@ -33,11 +33,9 @@ except ImportError:
pass
class UsefulIMAPMixIn:
- def getstate(self):
- return self.state
def getselectedfolder(self):
- if self.getstate() == 'SELECTED':
- return self.selectedfolder
+ if self.state == 'SELECTED':
+ return self.mailbox
return None
def select(self, mailbox='INBOX', readonly=None, force = 0):
@@ -58,10 +56,6 @@ class UsefulIMAPMixIn:
(mailbox, result)
severity = OfflineImapError.ERROR.FOLDER
raise OfflineImapError(errstr, severity)
- if self.getstate() == 'SELECTED':
- self.selectedfolder = mailbox
- else:
- self.selectedfolder = None
return result
def _mesg(self, s, tn=None, secs=None):
--
1.7.4.1
More information about the OfflineIMAP-project
mailing list