mytest.py: load bouquets before parental control init and remove strange hack in...
authorghost <andreas.monzner@multimedia-labs.de>
Fri, 7 May 2010 10:49:48 +0000 (12:49 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Fri, 7 May 2010 10:50:30 +0000 (12:50 +0200)
this fixes bug #532

lib/python/Components/ParentalControl.py
mytest.py

index 9942bca..63b5ccf 100644 (file)
@@ -55,11 +55,10 @@ def InitParentalControl():
 class ParentalControl:
        def __init__(self):
                #Do not call open on init, because bouquets are not ready at that moment 
-#              self.open()
+               self.open()
                self.serviceLevel = {}
                #Instead: Use Flags to see, if we already initialized config and called open
                self.configInitialized = False
-               self.filesOpened = False
                #This is the timer that is used to see, if the time for caching the pin is over
                #Of course we could also work without a timer and compare the times every
                #time we call isServicePlayable. But this might probably slow down zapping, 
@@ -89,9 +88,6 @@ class ParentalControl:
        def isServicePlayable(self, ref, callback):
                if not config.ParentalControl.configured.value or not config.ParentalControl.servicepinactive.value:
                        return True
-               #Check if we already read the whitelists and blacklists. If not: call open
-               if self.filesOpened == False:
-                       self.open()
                #Check if configuration has already been read or if the significant values have changed.
                #If true: read the configuration 
                if self.configInitialized == False or self.storeServicePin != config.ParentalControl.storeservicepin.value or self.storeServicePinCancel != config.ParentalControl.storeservicepincancel.value:
@@ -153,8 +149,6 @@ class ParentalControl:
        def getProtectionType(self, service):
                #New method used in ParentalControlList: This method does not only return
                #if a service is protected or not, it also returns, why (whitelist or blacklist, service or bouquet)
-               if self.filesOpened == False:
-                       self.open()
                sImage = ""
                if (config.ParentalControl.type.value == LIST_WHITELIST):
                        if self.whitelist.has_key(service):
@@ -319,14 +313,11 @@ class ParentalControl:
                
        def save(self):
                # we need to open the files in case we havent's read them yet
-               if not self.filesOpened:
-                       self.open()
                self.saveListToFile(LIST_BLACKLIST)
                self.saveListToFile(LIST_WHITELIST)
                
        def open(self):
                self.openListFromFile(LIST_BLACKLIST)
                self.openListFromFile(LIST_WHITELIST)
-               self.filesOpened = True
 
 parentalControl = ParentalControl()
index c748538..0b9be52 100755 (executable)
--- a/mytest.py
+++ b/mytest.py
@@ -30,6 +30,9 @@ from Screens.SimpleSummary import SimpleSummary
 
 from sys import stdout, exc_info
 
+profile("Bouquets")
+eDVBDB.getInstance().reloadBouquets()
+
 profile("ParentalControl")
 from Components.ParentalControl import InitParentalControl
 InitParentalControl()
@@ -45,8 +48,7 @@ from Tools.Directories import InitFallbackFiles, resolveFilename, SCOPE_PLUGINS,
 from Components.config import config, configfile, ConfigText, ConfigYesNo, ConfigInteger, NoSave
 InitFallbackFiles()
 
-profile("ReloadProfiles")
-eDVBDB.getInstance().reloadBouquets()
+profile("config.misc")
 
 config.misc.radiopic = ConfigText(default = resolveFilename(SCOPE_CURRENT_SKIN, "radio.mvi"))
 config.misc.isNextRecordTimerAfterEventActionAuto = ConfigYesNo(default=False)