diff options
author | Kali Kaneko <kali@leap.se> | 2014-02-17 12:18:41 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2014-02-17 20:42:23 -0400 |
commit | 0e471dbe8806bcc0fccf97667628b86925bcfd1d (patch) | |
tree | 8050786c1f670ab15cf6fdda8fad3f237ef32d86 | |
parent | 81a646792219f33e1331aa179dc6032b32026238 (diff) |
cache uidvalidity
-rw-r--r-- | mail/src/leap/mail/imap/mailbox.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mail/src/leap/mail/imap/mailbox.py b/mail/src/leap/mail/imap/mailbox.py index 57505f0..6513db9 100644 --- a/mail/src/leap/mail/imap/mailbox.py +++ b/mail/src/leap/mail/imap/mailbox.py @@ -149,6 +149,8 @@ class SoledadMailbox(WithMsgFields, MBoxParser): self.messages = MessageCollection( mbox=mbox, soledad=self._soledad, memstore=self._memstore) + self._uidvalidity = None + # XXX careful with this get/set (it would be # hitting db unconditionally, move to memstore too) # Now it's returning a fixed amount of flags from mem @@ -339,8 +341,10 @@ class SoledadMailbox(WithMsgFields, MBoxParser): :return: unique validity identifier :rtype: int """ - mbox = self._get_mbox_doc() - return mbox.content.get(self.CREATED_KEY, 1) + if self._uidvalidity is None: + mbox = self._get_mbox_doc() + self._uidvalidity = mbox.content.get(self.CREATED_KEY, 1) + return self._uidvalidity def getUID(self, message): """ |