[PATCH v2] accounts.py: Merge AccountSynchronizationMixin with SyncableAccount class
Sebastian Spaeth
Sebastian at SSpaeth.de
Mon Jan 31 14:53:35 GMT 2011
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 <Sebastian at SSpaeth.de>
---
This is a small cleanup patch against "next". It simplifies the code a bit.
v2 just with less chars per line in the commit message. :-)
offlineimap/accounts.py | 13 +++++++++----
1 files 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)
--
1.7.1
More information about the OfflineIMAP-project
mailing list