Branch 'pykolab-0.6' - pykolab/imap

Jeroen van Meeuwen vanmeeuwen at kolabsys.com
Fri Jan 17 14:00:41 CET 2014


 pykolab/imap/__init__.py |   12 ++++++++++++
 1 file changed, 12 insertions(+)

New commits:
commit 7c38740c616db74abebfffc659904bcb068132f4
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Fri Jan 17 13:58:27 2014 +0100

    Await having created the user mailbox in a cyrus imap murder topology

diff --git a/pykolab/imap/__init__.py b/pykolab/imap/__init__.py
index f9c95f1..0f02dae 100644
--- a/pykolab/imap/__init__.py
+++ b/pykolab/imap/__init__.py
@@ -425,6 +425,18 @@ class IMAP(object):
 
         self.create_folder(folder_name, server)
 
+        # In a Cyrus IMAP Murder topology, wait for the murder to have settled
+        if hasattr(self.imap, 'murder') and self.imap.murder:
+            self.disconnect()
+            self.connect()
+
+        created = False
+        while not created:
+            created = self.has_folder(folder_name)
+            if not created:
+                log.info(_("Waiting for the Cyrus IMAP Murder to settle..."))
+                time.sleep(0.5)
+
         if not self.domain == None:
             if conf.has_option(self.domain, "autocreate_folders"):
                 _additional_folders = conf.get_raw(




More information about the commits mailing list