diff options
author | Kali Kaneko <kali@leap.se> | 2015-05-28 19:03:24 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2015-06-05 16:50:46 -0400 |
commit | 4c12d05d063d42171808c432bee90de67c4042b6 (patch) | |
tree | 7839f7e8cf9f9ac941008f71443c73d168f718ac /src/leap/mail/imap | |
parent | 8915db2e1c1a339cf36ae0e28da627bb1a8e040e (diff) |
[refactor] move hooks to account
Diffstat (limited to 'src/leap/mail/imap')
-rw-r--r-- | src/leap/mail/imap/account.py | 7 | ||||
-rw-r--r-- | src/leap/mail/imap/service/imap.py | 13 |
2 files changed, 6 insertions, 14 deletions
diff --git a/src/leap/mail/imap/account.py b/src/leap/mail/imap/account.py index ccb4b75..cc56fff 100644 --- a/src/leap/mail/imap/account.py +++ b/src/leap/mail/imap/account.py @@ -58,7 +58,6 @@ class IMAPAccount(object): implements(imap4.IAccount, imap4.INamespacePresenter) selected = None - session_ended = False def __init__(self, user_id, store, d=defer.Deferred()): """ @@ -98,7 +97,11 @@ class IMAPAccount(object): Right now it's called from the client backend. """ # TODO move its use to the service shutdown in leap.mail - self.session_ended = True + self.account.end_session() + + @property + def session_ended(self): + return self.account.session_ended def callWhenReady(self, cb, *args, **kw): """ diff --git a/src/leap/mail/imap/service/imap.py b/src/leap/mail/imap/service/imap.py index e401283..92d05cc 100644 --- a/src/leap/mail/imap/service/imap.py +++ b/src/leap/mail/imap/service/imap.py @@ -32,11 +32,9 @@ from twisted.python import log logger = logging.getLogger(__name__) from leap.common.events import emit, catalog -from leap.common.check import leap_assert_type, leap_check +from leap.common.check import leap_check from leap.mail.imap.account import IMAPAccount from leap.mail.imap.server import LEAPIMAPServer -from leap.mail.plugins import soledad_sync_hooks -from leap.soledad.client import Soledad DO_MANHOLE = os.environ.get("LEAP_MAIL_MANHOLE", None) @@ -92,17 +90,9 @@ class LeapIMAPFactory(ServerFactory): theAccount = IMAPAccount(uuid, soledad) self.theAccount = theAccount - self._initialize_sync_hooks() - self._connections = defaultdict() # XXX how to pass the store along? - def _initialize_sync_hooks(self): - soledad_sync_hooks.post_sync_uid_reindexer.set_account(self.theAccount) - - def _teardown_sync_hooks(self): - soledad_sync_hooks.post_sync_uid_reindexer.set_account(None) - def buildProtocol(self, addr): """ Return a protocol suitable for the job. @@ -136,7 +126,6 @@ class LeapIMAPFactory(ServerFactory): # mark account as unusable, so any imap command will fail # with unauth state. self.theAccount.end_session() - self._teardown_sync_hooks() # TODO should wait for all the pending deferreds, # the twisted way! |