From 465af6c481e5c7e10bb9c167209dd5e0e436d66e Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Mon, 31 Jan 2011 15:53:35 +0100 Subject: [PATCH] accounts.py: Merge AccountSynchronizationMixin with SyncableAccount class AccountSynchronizationMixin was never used on its own and it is a very confusing class until you understand what it is used for. (It complemented the Account() class with a few methods to make Account() syncable. But we use the SyncableAccount class anyway, so merge the former Mixin' methods directly in there. This does away with a class that is not directly used, and was a case of over-object-orientation which confuses more than it helps. Touched up code documentation while going through the file. Signed-off-by: Sebastian Spaeth Signed-off-by: Nicolas Sebrecht --- offlineimap/accounts.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/offlineimap/accounts.py b/offlineimap/accounts.py index cd09646..aa8b88f 100644 --- a/offlineimap/accounts.py +++ b/offlineimap/accounts.py @@ -166,7 +166,12 @@ class Account(CustomConfig.ConfigHelperMixin): item.stopkeepalive() return sleepresult -class AccountSynchronizationMixin: + +class SyncableAccount(Account): + """A syncable IMAP account. + + Derives from class:`Account`.""" + def syncrunner(self, siglistener): self.ui.registerthread(self.name) self.ui.acct(self.name) @@ -285,12 +290,12 @@ class AccountSynchronizationMixin: self.ui.callhook("Hook return code: %d" % p.returncode) except: self.ui.warn("Exception occured while calling hook") - -class SyncableAccount(Account, AccountSynchronizationMixin): - pass + def syncfolder(accountname, remoterepos, remotefolder, localrepos, statusrepos, quick): + """This function is called as target for the + InstanceLimitedThread invokation in SyncableAccount.""" global mailboxes ui = getglobalui() ui.registerthread(accountname)