summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/listeners/mailbox_indexer_listener.py
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-07-14 18:52:19 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:22 +0200
commit60966944c2417588811372b1c9037a4df9bd48f3 (patch)
tree008490d7f1599c1ffeb911e5f41d33e0dcc9a589 /service/pixelated/adapter/listeners/mailbox_indexer_listener.py
parent740547431f547dce775f0d2a737fd23f6df5f994 (diff)
Working on pixelated-user-agent.
- Startup works till all mails are queried
Diffstat (limited to 'service/pixelated/adapter/listeners/mailbox_indexer_listener.py')
-rw-r--r--service/pixelated/adapter/listeners/mailbox_indexer_listener.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/service/pixelated/adapter/listeners/mailbox_indexer_listener.py b/service/pixelated/adapter/listeners/mailbox_indexer_listener.py
index d8e0f81e..0178ee54 100644
--- a/service/pixelated/adapter/listeners/mailbox_indexer_listener.py
+++ b/service/pixelated/adapter/listeners/mailbox_indexer_listener.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+from twisted.internet import defer
class MailboxIndexerListener(object):
""" Listens for new mails, keeping the index updated """
@@ -21,10 +22,12 @@ class MailboxIndexerListener(object):
SEARCH_ENGINE = None
@classmethod
+ @defer.inlineCallbacks
def listen(cls, account, mailbox_name, soledad_querier):
listener = MailboxIndexerListener(mailbox_name, soledad_querier)
- if listener not in account.getMailbox(mailbox_name).listeners:
- account.getMailbox(mailbox_name).addListener(listener)
+ if listener not in (yield account.getMailbox(mailbox_name)).listeners:
+ mbx = yield account.getMailbox(mailbox_name)
+ mbx.addListener(listener)
def __init__(self, mailbox_name, soledad_querier):
self.mailbox_name = mailbox_name