Network.py: improve remote rootfs detection and wireless device/module detection.
[enigma2.git] / lib / python / Components / TimerSanityCheck.py
index c0ca10fa7979d0ce5aae12871ce01ce28bd064f2..b9dda6a6697926db84be0119808943614d61e43f 100644 (file)
@@ -2,6 +2,7 @@ import NavigationInstance
 from time import localtime, mktime, gmtime
 from ServiceReference import ServiceReference
 from enigma import iServiceInformation, eServiceCenter, eServiceReference
 from time import localtime, mktime, gmtime
 from ServiceReference import ServiceReference
 from enigma import iServiceInformation, eServiceCenter, eServiceReference
+from timer import TimerEntry
 
 class TimerSanityCheck:
        def __init__(self, timerlist, newtimer=None):
 
 class TimerSanityCheck:
        def __init__(self, timerlist, newtimer=None):
@@ -12,8 +13,8 @@ class TimerSanityCheck:
                self.simultimer = []
                self.rep_eventlist = []
                self.nrep_eventlist = []
                self.simultimer = []
                self.rep_eventlist = []
                self.nrep_eventlist = []
-               self.bflag = 1
-               self.eflag = -1
+               self.bflag = -1
+               self.eflag = 1
 
        def check(self, ext_timer=1):
                print "check"
 
        def check(self, ext_timer=1):
                print "check"
@@ -36,6 +37,12 @@ class TimerSanityCheck:
                                        return True
                                else:
                                        if timer.begin == self.newtimer.begin:
                                        return True
                                else:
                                        if timer.begin == self.newtimer.begin:
+                                               fl1 = timer.service_ref.ref.flags & eServiceReference.isGroup
+                                               fl2 = self.newtimer.service_ref.ref.flags & eServiceReference.isGroup
+                                               if fl1 != fl2:
+                                                       return False
+                                               if fl1: #is group
+                                                       return timer.service_ref.ref.getPath() == self.newtimer.service_ref.ref.getPath()
                                                getUnsignedDataRef1 = timer.service_ref.ref.getUnsignedData
                                                getUnsignedDataRef2 = self.newtimer.service_ref.ref.getUnsignedData
                                                for x in (1, 2, 3, 4):
                                                getUnsignedDataRef1 = timer.service_ref.ref.getUnsignedData
                                                getUnsignedDataRef2 = self.newtimer.service_ref.ref.getUnsignedData
                                                for x in (1, 2, 3, 4):
@@ -101,7 +108,7 @@ class TimerSanityCheck:
                                                        self.rep_eventlist.append((begin, idx))
                                                begin += 86400
                                                rflags >>= 1
                                                        self.rep_eventlist.append((begin, idx))
                                                begin += 86400
                                                rflags >>= 1
-                               else:
+                               elif timer.state < TimerEntry.StateEnded:
                                        self.nrep_eventlist.extend([(timer.begin,self.bflag,idx),(timer.end,self.eflag,idx)])
                        idx += 1
 
                                        self.nrep_eventlist.extend([(timer.begin,self.bflag,idx),(timer.end,self.eflag,idx)])
                        idx += 1