aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-17 05:18:13 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-17 05:18:13 +0000
commit625c1df5cae26451d306f5f7e2f4f68402be63dd (patch)
tree46b8a2a7d251ad0f5578175268fdae01f3ab4742
parent0f3627c7217271af00b5872bacfea1a18d7867a4 (diff)
downloadenigma2-625c1df5cae26451d306f5f7e2f4f68402be63dd.tar.gz
enigma2-625c1df5cae26451d306f5f7e2f4f68402be63dd.zip
the timer sucks
-rw-r--r--lib/python/Components/TimerList.py3
-rw-r--r--timer.py25
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" ]
diff --git a/timer.py b/timer.py
index afbbfdf8..a4c74e01 100644
--- a/timer.py
+++ b/timer.py
@@ -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