use service compare strings instead of eServiceReferences in parental control
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Tue, 10 Oct 2006 13:46:16 +0000 (13:46 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Tue, 10 Oct 2006 13:46:16 +0000 (13:46 +0000)
Navigation.py
lib/python/Components/ParentalControl.py
lib/python/Screens/ChannelSelection.py

index 9ba0afc..f8c8417 100644 (file)
@@ -41,7 +41,7 @@ class Navigation:
                        self.stopService()
                        return 0
                
-               if not checkParentalControl or parentalControl.isServicePlayable(ref, boundFunction(self.playService, checkParentalControl = False)):
+               if not checkParentalControl or parentalControl.isServicePlayable(ref.toCompareString(), boundFunction(self.playService, checkParentalControl = False)):
                        if self.pnav and not self.pnav.playService(ref):
                                self.currentlyPlayingServiceReference = ref
                                return 0
index f8a6dff..97e9fad 100644 (file)
@@ -37,26 +37,25 @@ class ParentalControl:
                self.tries = 3
                
        def addWhitelistService(self, service):
-               self.whitelist.append(service.toCompareString())
+               self.whitelist.append(service)
        
        def addBlacklistService(self, service):
-               self.blacklist.append(service.toCompareString())
+               self.blacklist.append(service)
 
        def setServiceLevel(self, service, level):
-               self.serviceLevel[service.toCompareString()] = level
+               self.serviceLevel[service] = level
 
        def deleteWhitelistService(self, service):
-               self.whitelist.remove(service.toCompareString())
-               if self.serviceLevel.has_key(service.toCompareString()):
-                       self.serviceLevel.remove(service.toCompareString())
+               self.whitelist.remove(service)
+               if self.serviceLevel.has_key(service):
+                       self.serviceLevel.remove(service)
        
        def deleteBlacklistService(self, service):
-               self.blacklist.remove(service.toCompareString())
-               if self.serviceLevel.has_key(service.toCompareString()):
-                       self.serviceLevel.remove(service.toCompareString())
+               self.blacklist.remove(service)
+               if self.serviceLevel.has_key(service):
+                       self.serviceLevel.remove(service)
                                
-       def isServicePlayable(self, serviceref, callback):
-               service = serviceref.toCompareString()
+       def isServicePlayable(self, service, callback):
                if not config.ParentalControl.configured.value:
                        return True
                print "whitelist:", self.whitelist
@@ -80,10 +79,10 @@ class ParentalControl:
                print "protect"
                print "config.ParentalControl.type.value:", config.ParentalControl.type.value
                if config.ParentalControl.type.value == "whitelist":
-                       if service.toCompareString() in self.whitelist:
+                       if service in self.whitelist:
                                self.deleteWhitelistService(service)
                else: # blacklist
-                       if service.toCompareString() not in self.blacklist:
+                       if service not in self.blacklist:
                                self.addBlacklistService(service)
                print "whitelist:", self.whitelist
                print "blacklist:", self.blacklist
index 58c57f4..54c4829 100644 (file)
@@ -139,11 +139,11 @@ class ChannelContextMenu(Screen):
                self.close()
 
        def addParentalProtection(self, service):
-               parentalControl.protectService(service)
+               parentalControl.protectService(service.toCompareString())
                self.close()
 
        def removeParentalProtection(self, service):
-               self.session.openWithCallback(boundFunction(self.pinEntered, service), PinInput, pinList = [config.ParentalControl.servicepin[0].value], title = _("Enter the service pin"), windowTitle = _("Change pin code"))
+               self.session.openWithCallback(boundFunction(self.pinEntered, service.toCompareString()), PinInput, pinList = [config.ParentalControl.servicepin[0].value], title = _("Enter the service pin"), windowTitle = _("Change pin code"))
 
        def pinEntered(self, service, result):
                if result[0]: