X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ed40f6f85c9c07c3c1224ae20601082c0309a631..aa052184a12e61d01983f8c9047183e6b0d499f3:/timer.py diff --git a/timer.py b/timer.py index 5720cf9d..5c664bbe 100644 --- a/timer.py +++ b/timer.py @@ -30,7 +30,7 @@ class TimerEntry: return self.state == self.StateRunning # update self.begin and self.end according to the self.repeated-flags - def processRepeated(self): + def processRepeated(self, findRunningEvent = True): print "ProcessRepeated" if (self.repeated != 0): now = int(time()) + 1 @@ -54,9 +54,10 @@ class TimerEntry: flags = flags >> 1 print strftime("%c", localnow) - while ((day[localbegin.tm_wday] != 0) or ((day[localbegin.tm_wday] == 0) and localend < localnow)): - print strftime("%c", localbegin) - print strftime("%c", localend) + + while ((day[localbegin.tm_wday] != 0) or ((day[localbegin.tm_wday] == 0) and ((findRunningEvent and localend < localnow) or ((not findRunningEvent) and localbegin < localnow)))): + print "localbegin:", strftime("%c", localbegin) + print "localend:", strftime("%c", localend) #add one day to the struct_time, we have to convert using gmt functions, because the daylight saving flag might change after we add our 86400 seconds localbegin = gmtime(timegm(localbegin) + 86400) localend = gmtime(timegm(localend) + 86400) @@ -128,16 +129,22 @@ class Timer: self.calcNextActivation() self.on_state_change = [ ] - + def stateChanged(self, entry): for f in self.on_state_change: f(entry) - + def getNextRecordingTime(self): - if len(self.timer_list) > 0: - return self.timer_list[0].begin + llen = len(self.timer_list) + idx = 0 + while idx < llen: + timer = self.timer_list[idx] + if timer.justplay: + idx += 1 + else: + return timer.begin return -1 - + def cleanup(self): self.processed_timers = [entry for entry in self.processed_timers if entry.disabled]