diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-11-28 03:57:37 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-11-28 03:57:37 +0000 |
| commit | cb50b5479d207eae71e302ff37e5960281c039c8 (patch) | |
| tree | 0134976460bfc0ab4a15207199b94ba0b216c699 | |
| parent | 11027439f74d586f8c70abe86adbbf2e04ee53a1 (diff) | |
| download | enigma2-cb50b5479d207eae71e302ff37e5960281c039c8.tar.gz enigma2-cb50b5479d207eae71e302ff37e5960281c039c8.zip | |
timer: passed timers will always be set to StateEnded, and set back to waiting when reprocessing (due timewarp). waiting timers will be removed from one list only. remove try/except.
| -rw-r--r-- | RecordTimer.py | 16 | ||||
| -rw-r--r-- | timer.py | 3 |
2 files changed, 9 insertions, 10 deletions
diff --git a/RecordTimer.py b/RecordTimer.py index 18cc64ab..1a64c5ef 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -162,14 +162,13 @@ class RecordTimer(timer.Timer): 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." @@ -177,10 +176,7 @@ class RecordTimer(timer.Timer): 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() @@ -103,6 +103,7 @@ class Timer: # 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: @@ -121,6 +122,8 @@ class Timer: 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() |
