# folders haven't yet been added, or this account is once-only; drop signal
return
elif self.folders:
- for folder in self.folders:
+ for foldernr in range(len(self.folders)):
# requeue folder
- self.folders[folder] = True
+ self.folders[foldernr][1] = True
self.quick = False
return
# else folders have already been cleared, put signal...
def addfolders(self, remotefolders, autorefreshes, quick):
self.folderlock.acquire()
try:
- self.folders = {}
+ self.folders = []
self.quick = quick
self.autorefreshes = autorefreshes
for folder in remotefolders:
# new folders are queued
- self.folders[folder] = True
+ self.folders.append([folder, True])
finally:
self.folderlock.release()
def clearfolders(self):
self.folderlock.acquire()
try:
- for folder in self.folders:
- if self.folders[folder]:
+ for folder, queued in self.folders:
+ if queued:
# some folders still in queue
return False
- self.folders.clear()
+ self.folders[:] = []
return True
finally:
self.folderlock.release()
dirty = True
while dirty:
dirty = False
- for folder in self.folders:
- if self.folders[folder]:
+ for foldernr, (folder, queued) in enumerate(self.folders):
+ if queued:
# mark folder as no longer queued
- self.folders[folder] = False
+ self.folders[foldernr][1] = False
dirty = True
quick = self.quick
self.folderlock.release()
self.localeval = config.getlocaleval()
self.ui = UIBase.getglobalui()
self.refreshperiod = self.getconffloat('autorefresh', 0.0)
+ self.quickrefreshcount = self.getconfint('quick', 0)
self.quicknum = 0
if self.refreshperiod == 0.0:
self.refreshperiod = None
for item in kaobjs:
item.startkeepalive()
-
- refreshperiod = int(self.refreshperiod * 60)
+
+ sleeptime = int(self.refreshperiod * 60)
+ if (self.quickrefreshcount > 0):
+ sleeptime = int(sleeptime / self.quickrefreshcount)
+
# try:
# sleepresult = siglistener.get_nowait()
# # retrieved signal before sleep started
# # catching signal 1 here means folders were cleared before signal was posted
# pass
# except Empty:
-# sleepresult = self.ui.sleep(refreshperiod, siglistener)
- sleepresult = self.ui.sleep(refreshperiod, siglistener)
+# sleepresult = self.ui.sleep(sleeptime, siglistener)
+ sleepresult = self.ui.sleep(sleeptime, siglistener)
if sleepresult == 1:
self.quicknum = 0