aboutsummaryrefslogtreecommitdiffstats
path: root/cloud_mdir_sync/main.py
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2020-05-26 16:58:38 -0300
committerJason Gunthorpe <jgg@mellanox.com>2020-05-28 10:10:40 -0300
commit72b3e5ff5d68d9f70257f9556068cc1e5de23e1c (patch)
tree07b5e4d26eda13d11eef2b17bc94d659a2652651 /cloud_mdir_sync/main.py
parent88c8cdb534716a163c28ec13e12c2877cef19e1f (diff)
downloadcloud_mdir_sync-72b3e5ff5d68d9f70257f9556068cc1e5de23e1c.tar.gz
cloud_mdir_sync-72b3e5ff5d68d9f70257f9556068cc1e5de23e1c.tar.bz2
cloud_mdir_sync-72b3e5ff5d68d9f70257f9556068cc1e5de23e1c.zip
Remove cfg.domains
Directly connect the 'account' API objects to their mailbox users through the config language instead of trying to fix it up after the fact with a dictionary. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'cloud_mdir_sync/main.py')
-rw-r--r--cloud_mdir_sync/main.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/cloud_mdir_sync/main.py b/cloud_mdir_sync/main.py
index d085dda..1c86b4a 100644
--- a/cloud_mdir_sync/main.py
+++ b/cloud_mdir_sync/main.py
@@ -58,9 +58,9 @@ async def update_cloud_from_local(cfg: config.Config,
async def synchronize_mail(cfg: config.Config):
"""Main synchronizing loop"""
cfg.web_app = oauth.WebServer()
+ cfg.async_tasks.append(cfg.web_app)
try:
- await cfg.web_app.go()
-
+ await asyncio_complete(*(I.go() for I in cfg.async_tasks))
await asyncio_complete(*(mbox.setup_mbox()
for mbox in cfg.all_mboxes()))
@@ -94,10 +94,8 @@ async def synchronize_mail(cfg: config.Config):
cfg.msgdb.cleanup_msgs(msgs)
cfg.logger.debug("Changed event, looping")
finally:
- await asyncio_complete(*(domain.close()
- for domain in cfg.domains.values()))
- cfg.domains = {}
- await cfg.web_app.close()
+ for I in cfg.async_tasks:
+ await I.close()
def main():