summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap/messages.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2014-02-17 13:59:06 -0400
committerKali Kaneko <kali@leap.se>2014-02-17 20:42:24 -0400
commit99ec94f08fb2d062eb2c350b64971ea9ad8d87dd (patch)
tree06735d42bafa5765072e50610de716b84715c4d2 /src/leap/mail/imap/messages.py
parent0f2f53c8819133e36780e521fecbfadda331255a (diff)
avoid unneeded db index updates and rdoc creation
Diffstat (limited to 'src/leap/mail/imap/messages.py')
-rw-r--r--src/leap/mail/imap/messages.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/leap/mail/imap/messages.py b/src/leap/mail/imap/messages.py
index fc1ec55..9bd64fc 100644
--- a/src/leap/mail/imap/messages.py
+++ b/src/leap/mail/imap/messages.py
@@ -686,6 +686,8 @@ class MessageCollection(WithMsgFields, IndexedDB, MailParser, MBoxParser):
_rdoc_lock = threading.Lock()
_rdoc_property_lock = threading.Lock()
+ _initialized = {}
+
def __init__(self, mbox=None, soledad=None, memstore=None):
"""
Constructor for MessageCollection.
@@ -725,10 +727,12 @@ class MessageCollection(WithMsgFields, IndexedDB, MailParser, MBoxParser):
self.memstore = memstore
self.__rflags = None
- self.initialize_db()
- # ensure that we have a recent-flags and a hdocs-sec doc
- self._get_or_create_rdoc()
+ if not self._initialized.get(mbox, False):
+ self.initialize_db()
+ # ensure that we have a recent-flags and a hdocs-sec doc
+ self._get_or_create_rdoc()
+ self._initialized[mbox] = True
from twisted.internet import reactor
self.reactor = reactor