diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2005-11-17 05:18:13 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2005-11-17 05:18:13 +0000 |
| commit | 625c1df5cae26451d306f5f7e2f4f68402be63dd (patch) | |
| tree | 46b8a2a7d251ad0f5578175268fdae01f3ab4742 | |
| parent | 0f3627c7217271af00b5872bacfea1a18d7867a4 (diff) | |
| download | enigma2-625c1df5cae26451d306f5f7e2f4f68402be63dd.tar.gz enigma2-625c1df5cae26451d306f5f7e2f4f68402be63dd.zip | |
the timer sucks
| -rw-r--r-- | lib/python/Components/TimerList.py | 3 | ||||
| -rw-r--r-- | timer.py | 25 |
2 files changed, 19 insertions, 9 deletions
diff --git a/lib/python/Components/TimerList.py b/lib/python/Components/TimerList.py index 6511f6f1..b1e8bf45 100644 --- a/lib/python/Components/TimerList.py +++ b/lib/python/Components/TimerList.py @@ -26,6 +26,9 @@ RT_WRAP = 32 def TimerEntryComponent(timer, processed): res = [ timer ] + print time.strftime("%c", time.localtime(timer.begin)) + print time.strftime("%c", time.localtime(timer.end)) + res.append((0, 0, 400, 30, 0, RT_HALIGN_LEFT, timer.service_ref.getServiceName())) repeatedtext = "" days = [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" ] @@ -29,24 +29,19 @@ class TimerEntry: # update self.begin and self.end according to the self.repeated-flags def processRepeated(self): - print "Processing repeated" + print "ProcessRepeated" if (self.repeated != 0): now = int(time.time()) - print "Now: " + str(now) day = [] flags = self.repeated for x in range(0, 7): if (flags & 1 == 1): day.append(0) - print "Day " + str(x) else: day.append(1) flags = flags >> 1 - print time.localtime(self.begin).tm_wday - print day - print str(now) + " " + str(self.end) + " " + str(self.begin) while ((day[time.localtime(self.begin).tm_wday] != 0) and (self.end < now)): print str(now) + " " + str(self.end) + " " + str(self.begin) self.begin += 86400 @@ -133,17 +128,29 @@ class Timer: self.setNextActivation(min) def timeChanged(self, timer): - self.timer_list.remove(timer) + try: + self.timer_list.remove(timer) + except: + pass self.addTimerEntry(timer) def doActivate(self, w): w.activate(w.state) - self.timer_list.remove(w) + try: + self.timer_list.remove(w) + except: + pass + w.state += 1 if w.state < TimerEntry.StateEnded: bisect.insort(self.timer_list, w) else: - bisect.insort(self.processed_timers, w) + if (w.repeated == 0): + bisect.insort(self.processed_timers, w) + else: + w.processRepeated() + w.state = TimerEntry.StateWait + self.timeChanged(w) def processActivation(self): t = int(time.time()) + 1 |
