summaryrefslogtreecommitdiff
path: root/mail/src
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-09-23 10:42:25 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-09-23 10:58:03 +0200
commit40a8f4b5f8e9263e4f358a4e4bc96b0ac0c18208 (patch)
treedab314533216fce84ca8ddd635f39308a011f4a1 /mail/src
parent300e3a1d6f8604daf4eb287b83e294c05dfabbc8 (diff)
[bug] Make _collection_mapping a instance variable
As a class variable multiple account instances share mailboxes which is bad if its different users or tests
Diffstat (limited to 'mail/src')
-rw-r--r--mail/src/leap/mail/mail.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/mail/src/leap/mail/mail.py b/mail/src/leap/mail/mail.py
index 258574e..fc5abd2 100644
--- a/mail/src/leap/mail/mail.py
+++ b/mail/src/leap/mail/mail.py
@@ -916,17 +916,19 @@ class Account(object):
adaptor_class = SoledadMailAdaptor
- # This is a mapping to collection instances so that we always
- # return a reference to them instead of creating new ones. However, being a
- # dictionary of weakrefs values, they automagically vanish from the dict
- # when no hard refs is left to them (so they can be garbage collected)
- # This is important because the different wrappers rely on several
- # kinds of deferredLocks that are kept as class or instance variables
- _collection_mapping = weakref.WeakValueDictionary()
-
def __init__(self, store, ready_cb=None):
self.store = store
self.adaptor = self.adaptor_class()
+
+ # this is a mapping to collection instances so that we always
+ # return a reference to them instead of creating new ones. however,
+ # being a dictionary of weakrefs values, they automagically vanish
+ # from the dict when no hard refs is left to them (so they can be
+ # garbage collected) this is important because the different wrappers
+ # rely on several kinds of deferredlocks that are kept as class or
+ # instance variables
+ self._collection_mapping = weakref.WeakValueDictionary()
+
self.mbox_indexer = MailboxIndexer(self.store)
# This flag is only used from the imap service for the moment.