self.timeChanged(entry)
elif entry.state != timer.TimerEntry.StateEnded:
entry.activate(timer.TimerEntry.EventAbort)
- try: # FIXME: is needed, because after loading the timers, every timer (even already ended ones)
- # have the state EventWaiting..
- self.timer_list.remove(entry)
- except:
- pass
-
+ self.timer_list.remove(entry)
+
self.calcNextActivation()
print "timer did not yet start - removing"
+
+ # the timer was aborted, and removed.
+ return
else:
print "timer did already end - doing nothing."
print "in processed: ", entry in self.processed_timers
print "in running: ", entry in self.timer_list
# now the timer should be in the processed_timers list. remove it from there.
- try:
- self.processed_timers.remove(entry)
- except:
- pass
+ self.processed_timers.remove(entry)
def shutdown(self):
self.saveTimer()
# right into the processedTimers.
if entry.end <= time.time() and entry.state == TimerEntry.StateWait:
bisect.insort(self.processed_timers, entry)
+ entry.state = TimerEntry.StateEnded
else:
bisect.insort(self.timer_list, entry)
if not noRecalc:
tl = self.processed_timers
self.processed_timers = [ ]
for x in tl:
+ # simulate a "waiting" state to give them a chance to re-occure
+ x.state = TimerEntry.StateWaiting
self.addTimerEntry(x, noRecalc=1)
self.processActivation()