added a sanity check for timer editor (no functionality until now except building...
[vuplus_dvbapp] / lib / python / Components / TimerSanityCheck.py
1 from Components.config import config
2 from Components.NimManager import nimmanager
3 from time import localtime
4
5 class TimerSanityCheck:
6         def __init__(self, timerlist, newtimer):
7                 self.timerlist = timerlist
8                 self.newtimer = newtimer
9                 
10         def check(self):
11                 simultimer = [ self.newtimer ]
12                 for timer in self.timerlist:
13                         if self.isSimultaneous(timer, self.newtimer):
14                                 simultimer.append(timer)
15                                 
16                 if len(simultimer) > 1:
17                         return self.checkRecordable(simultimer)
18                 
19                 return True
20         
21         def isSimultaneous(self, timer1, timer2):
22                 # both timers are repeated
23                 if (timer1.repeated & timer2.repeated):
24                         return True
25
26                 # one timer is repeated
27                 if not timer1.repeated:
28                         tmp = timer1
29                         timer1 = timer2
30                         timer2 = tmp
31
32                 if timer1.repeated:
33                         dow2 = (localtime(timer2.begin).tm_wday - 1) % 7
34                         
35                         if timer1.repeated & (2 ** dow2):
36                                 return True
37                 else:
38                         if (timer1.begin < timer2.begin < timer1.end) or (timer2.begin < timer1.begin < timer2.end):
39                                 return True
40
41                 return False
42         
43         def checkRecordable(self, timerlist):
44                 # TODO: Add code here
45                 return True