aboutsummaryrefslogtreecommitdiff
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
parent78852d8e7eb86a36e15d0fe5dd77fcfc624084c1 (diff)
downloadenigma2-8d22c234622439727d1b14c82959300ce5b58ed0.tar.gz
enigma2-8d22c234622439727d1b14c82959300ce5b58ed0.zip
timer.py: revert change needed for recordtimer add own doActivate to recordtimer
-rw-r--r--RecordTimer.py31
-rw-r--r--timer.py4
2 files changed, 32 insertions, 3 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:
diff --git a/timer.py b/timer.py
index 35578ed8..aaae0b2a 100644
--- a/timer.py
+++ b/timer.py
@@ -245,6 +245,8 @@ class Timer:
self.addTimerEntry(timer)
def doActivate(self, w):
+ self.timer_list.remove(w)
+
# when activating a timer which has already passed,
# simply abort the timer. don't run trough all the stages.
if w.shouldSkip():
@@ -256,8 +258,6 @@ class Timer:
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