diff options
| author | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-09-23 10:42:25 +0200 | 
|---|---|---|
| committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-09-23 10:58:03 +0200 | 
| commit | 40a8f4b5f8e9263e4f358a4e4bc96b0ac0c18208 (patch) | |
| tree | dab314533216fce84ca8ddd635f39308a011f4a1 /mail | |
| parent | 300e3a1d6f8604daf4eb287b83e294c05dfabbc8 (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')
| -rw-r--r-- | mail/src/leap/mail/mail.py | 18 | 
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. | 
