From 738adbb747be92f19cd7864490c982cac558358c Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Wed, 25 Jan 2006 08:16:11 +0000 Subject: added a sanity check for timer editor (no functionality until now except building a list of simultanious timers) --- lib/python/Components/TimerSanityCheck.py | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lib/python/Components/TimerSanityCheck.py (limited to 'lib/python/Components/TimerSanityCheck.py') diff --git a/lib/python/Components/TimerSanityCheck.py b/lib/python/Components/TimerSanityCheck.py new file mode 100644 index 00000000..a5b81ffc --- /dev/null +++ b/lib/python/Components/TimerSanityCheck.py @@ -0,0 +1,45 @@ +from Components.config import config +from Components.NimManager import nimmanager +from time import localtime + +class TimerSanityCheck: + def __init__(self, timerlist, newtimer): + self.timerlist = timerlist + self.newtimer = newtimer + + def check(self): + simultimer = [ self.newtimer ] + for timer in self.timerlist: + if self.isSimultaneous(timer, self.newtimer): + simultimer.append(timer) + + if len(simultimer) > 1: + return self.checkRecordable(simultimer) + + return True + + def isSimultaneous(self, timer1, timer2): + # both timers are repeated + if (timer1.repeated & timer2.repeated): + return True + + # one timer is repeated + if not timer1.repeated: + tmp = timer1 + timer1 = timer2 + timer2 = tmp + + if timer1.repeated: + dow2 = (localtime(timer2.begin).tm_wday - 1) % 7 + + if timer1.repeated & (2 ** dow2): + return True + else: + if (timer1.begin < timer2.begin < timer1.end) or (timer2.begin < timer1.begin < timer2.end): + return True + + return False + + def checkRecordable(self, timerlist): + # TODO: Add code here + return True \ No newline at end of file -- cgit v1.2.3