aboutsummaryrefslogtreecommitdiff
path: root/RecordTimer.py
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-08-20 20:54:44 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-08-20 20:54:44 +0200
commit8d22c234622439727d1b14c82959300ce5b58ed0 (patch)
treec60511142ada3cc11030df37cb40ae3f2e128461 /RecordTimer.py
parent78852d8e7eb86a36e15d0fe5dd77fcfc624084c1 (diff)
downloadenigma2-8d22c234622439727d1b14c82959300ce5b58ed0.tar.gz
enigma2-8d22c234622439727d1b14c82959300ce5b58ed0.zip
timer.py: revert change needed for recordtimer add own doActivate to recordtimer
Diffstat (limited to 'RecordTimer.py')
-rw-r--r--RecordTimer.py31
1 files changed, 30 insertions, 1 deletions
diff --git a/RecordTimer.py b/RecordTimer.py
index a6c19c05..cdd37eb5 100644
--- a/RecordTimer.py
+++ b/RecordTimer.py
@@ -440,7 +440,36 @@ class RecordTimer(timer.Timer):
self.loadTimer()
except IOError:
print "unable to load timers from file!"
-
+
+ def doActivate(self, w):
+ # when activating a timer which has already passed,
+ # simply abort the timer. don't run trough all the stages.
+ if w.shouldSkip():
+ w.state = TimerEntry.StateEnded
+ else:
+ # when active returns true, this means "accepted".
+ # otherwise, the current state is kept.
+ # the timer entry itself will fix up the delay then.
+ if w.activate():
+ w.state += 1
+
+ self.timer_list.remove(w)
+
+ # did this timer reached the last state?
+ if w.state < TimerEntry.StateEnded:
+ # no, sort it into active list
+ insort(self.timer_list, w)
+ else:
+ # yes. Process repeated, and re-add.
+ if w.repeated:
+ w.processRepeated()
+ w.state = TimerEntry.StateWaiting
+ self.addTimerEntry(w)
+ else:
+ insort(self.processed_timers, w)
+
+ self.stateChanged(w)
+
def isRecording(self):
isRunning = False
for timer in self.timer_list: