offlineimap rev 563
"Automatic Subversion Change Mailer" <[email protected]> Wed, 13 Aug 2003 11:08:56 -0500 (CDT)
| Newsgroups | gmane.mail.imap.offlineimap.subversion |
|---|---|
| Message-ID | <[email protected]> |
You are receiving this message because
all commits get sent to this address.
Author: jgoerzen
Date: 2003-08-13 11:08:33 -0500 (Wed, 13 Aug 2003)
New Revision: 563
Modified:
offlineimap/branches/twisted/offlineimap/accounts.py
offlineimap/branches/twisted/offlineimap/syncmaster.py
offlineimap/branches/twisted/offlineimap/ui/UIBase.py
Log:
Now exits after synchronization is complete.
Diff:
Modified: offlineimap/branches/twisted/offlineimap/accounts.py
===================================================================
--- offlineimap/branches/twisted/offlineimap/accounts.py 2003-08-13 16:02:01 UTC (rev 562)
+++ offlineimap/branches/twisted/offlineimap/accounts.py 2003-08-13 16:08:33 UTC (rev 563)
@@ -114,12 +114,14 @@
d = self.sync()
d.addCallback(self.acctdone)
return d
+
+ # FIXME: this needs help
looping = 1
while looping:
- self.sync()
+ d = self.sync()
looping = self.sleeper() != 2
- self.ui.acctdone(self.name)
-
+ return d
+
def acctdone(self, ignore):
self.ui.acctdone(self.name)
Modified: offlineimap/branches/twisted/offlineimap/syncmaster.py
===================================================================
--- offlineimap/branches/twisted/offlineimap/syncmaster.py 2003-08-13 16:02:01 UTC (rev 562)
+++ offlineimap/branches/twisted/offlineimap/syncmaster.py 2003-08-13 16:08:33 UTC (rev 563)
@@ -21,13 +21,22 @@
from offlineimap.accounts import SyncableAccount
from offlineimap.ui import UIBase
from ConfigParser import ConfigParser
+from twisted.internet import defer
def syncaccount(config, accountname):
account = SyncableAccount(config, accountname)
- account.syncrunner()
+ return account.syncrunner()
def syncitall(accounts, config):
ui = UIBase.getglobalui()
mbnames.init(config, accounts)
+ deferreds = []
for accountname in accounts:
- syncaccount(config, accountname)
+ deferreds.append(syncaccount(config, accountname))
+ dl = defer.DeferredList(deferreds)
+ dl.addCallback(exiting)
+
+def exiting(ignore):
+ ui = UIBase.getglobalui()
+ ui.terminate()
+
Modified: offlineimap/branches/twisted/offlineimap/ui/UIBase.py
===================================================================
--- offlineimap/branches/twisted/offlineimap/ui/UIBase.py 2003-08-13 16:02:01 UTC (rev 562)
+++ offlineimap/branches/twisted/offlineimap/ui/UIBase.py 2003-08-13 16:08:33 UTC (rev 563)
@@ -305,7 +305,10 @@
def terminate(s, exitstatus = 0):
"""Called to terminate the application."""
- sys.exit(exitstatus)
+ from twisted.internet import reactor
+ reactor.stop()
+ #FIXME: exit status handling is b0rked
+ #sys.exit(exitstatus)
def threadExited(s, thread):
"""Called when a thread has exited normally. Many UIs will