diff options
author | rafael lisboa <rafaelzlisboa@gmail.com> | 2015-06-04 17:36:08 -0300 |
---|---|---|
committer | rafael lisboa <rafaelzlisboa@gmail.com> | 2015-06-04 17:42:23 -0300 |
commit | 12151baefe15e12d989b89a880a3baf79aa599ef (patch) | |
tree | 53711b30d7ce49fb297be39a09267fefd185f1d9 /service/pixelated/config | |
parent | ec236d313359f319e99789a8cc3eb002c5b2288a (diff) |
don't run remove duplicates, index mails and add welcome email when
soledad sync finishes (#406)
when init_app is executed, the first soledad sync was already done. it
doesn't make much sense to register this as an event listener, also
because these methods are executed only once.
Diffstat (limited to 'service/pixelated/config')
-rw-r--r-- | service/pixelated/config/app_factory.py | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/service/pixelated/config/app_factory.py b/service/pixelated/config/app_factory.py index b803c0d7..98616a56 100644 --- a/service/pixelated/config/app_factory.py +++ b/service/pixelated/config/app_factory.py @@ -38,25 +38,6 @@ INIT_INDEX_AND_REMOVE_DUPES_CALLBACK = 12346 CHECK_WELCOME_MAIL_CALLBACK = 12347 -def init_index_and_remove_dupes(querier, search_engine, mail_service): - def wrapper(*args, **kwargs): - querier.remove_duplicates() - search_engine.index_mails(mails=mail_service.all_mails(), - callback=querier.mark_all_as_not_recent) - unregister(proto.SOLEDAD_DONE_DATA_SYNC, - uid=INIT_INDEX_AND_REMOVE_DUPES_CALLBACK) - - return wrapper - - -def check_welcome_mail_wrapper(mailbox): - def wrapper(*args, **kwargs): - check_welcome_mail(mailbox) - unregister(proto.SOLEDAD_DONE_DATA_SYNC, - uid=CHECK_WELCOME_MAIL_CALLBACK) - return wrapper - - def init_leap_session(app, leap_home): try: leap_session = LeapSession.open(app.config['LEAP_USERNAME'], @@ -81,8 +62,13 @@ def init_app(leap_home, leap_session): lambda: leap_session.smtp.ensure_running()) pixelated_mailboxes = Mailboxes(leap_session.account, soledad_querier, search_engine) + check_welcome_mail(pixelated_mailboxes.inbox()) + draft_service = DraftService(pixelated_mailboxes) mail_service = MailService(pixelated_mailboxes, pixelated_mail_sender, soledad_querier, search_engine) + soledad_querier.remove_duplicates() + search_engine.index_mails(mails=mail_service.all_mails(), + callback=soledad_querier.mark_all_as_not_recent) MailboxIndexerListener.SEARCH_ENGINE = search_engine InputMail.FROM_EMAIL_ADDRESS = leap_session.account_email() @@ -90,14 +76,4 @@ def init_app(leap_home, leap_session): resource = RootResource() resource.initialize(soledad_querier, keymanager, search_engine, mail_service, draft_service) - register(signal=proto.SOLEDAD_DONE_DATA_SYNC, - uid=INIT_INDEX_AND_REMOVE_DUPES_CALLBACK, - callback=init_index_and_remove_dupes(querier=soledad_querier, - search_engine=search_engine, - mail_service=mail_service)) - - register(signal=proto.SOLEDAD_DONE_DATA_SYNC, - uid=CHECK_WELCOME_MAIL_CALLBACK, - callback=check_welcome_mail_wrapper(pixelated_mailboxes.inbox())) - return resource |