X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FParentalControlSetup.py;h=c0561b5deb0acb81d9109c8b02478c397a464091;hp=d49119531edab5e38c709270ec210f4f5ce6e045;hb=7249d5f07b5ee201a6b775ac7946255514350682;hpb=681c113336426914342cf68fb03e7cd399c29c9a diff --git a/lib/python/Screens/ParentalControlSetup.py b/lib/python/Screens/ParentalControlSetup.py index d491195..c0561b5 100644 --- a/lib/python/Screens/ParentalControlSetup.py +++ b/lib/python/Screens/ParentalControlSetup.py @@ -9,12 +9,10 @@ from Screens.ChoiceBox import ChoiceBox from Screens.MessageBox import MessageBox from Screens.InputBox import InputBox, Input, PinInput from Screens.ChannelSelection import service_types_tv -from Tools.Directories import resolveFilename, SCOPE_CONFIG from Tools.BoundFunction import boundFunction from ServiceReference import ServiceReference from enigma import eServiceCenter, eServiceReference, eTimer -import os -import operator +from operator import itemgetter class ProtectedScreen: def __init__(self): @@ -53,7 +51,7 @@ class ParentalControlSetup(Screen, ConfigListScreen, ProtectedScreen): }, -2) def isProtected(self): - return config.ParentalControl.setuppinactive.value + return config.ParentalControl.setuppinactive.value and config.ParentalControl.configured.value def createSetup(self): self.editListEntry = None @@ -78,7 +76,7 @@ class ParentalControlSetup(Screen, ConfigListScreen, ProtectedScreen): elif config.ParentalControl.mode.value == "simple": self.changePin = getConfigListEntry(_("Change service pin"), NoSave(ConfigNothing())) self.list.append(self.changePin) - self.list.append(getConfigListEntry(_("Remember service pin"), config.ParentalControl.storeservicepin)) + #self.list.append(getConfigListEntry(_("Remember service pin"), config.ParentalControl.storeservicepin)) self.editListEntry = getConfigListEntry(_("Edit services list"), NoSave(ConfigNothing())) self.list.append(self.editListEntry) @@ -111,10 +109,32 @@ class ParentalControlSetup(Screen, ConfigListScreen, ProtectedScreen): print "current selection:", self["config"].l.getCurrentSelection() self.createSetup() + def SetupPinMessageCallback(self, value): + if value: + self.session.openWithCallback(self.cancelCB, ParentalControlChangePin, config.ParentalControl.setuppin, _("setup pin")) + else: + config.ParentalControl.setuppinactive.value = False + self.keyCancel() + + def ServicePinMessageCallback(self, value): + if value: + self.session.openWithCallback(self.cancelCB, ParentalControlChangePin, config.ParentalControl.servicepin[0], _("service pin")) + else: + config.ParentalControl.servicepinactive.value = False + self.keyCancel() + + def cancelCB(self,value): + self.keyCancel() + def keyCancel(self): - for x in self["config"].list: - x[1].save() - self.close() + if config.ParentalControl.setuppinactive.value and config.ParentalControl.setuppin.value == 'aaaa': + self.session.openWithCallback(self.SetupPinMessageCallback, MessageBox, _("No valid setup PIN found!\nDo you like to change the setup PIN now?\nWhen you say 'No' here the setup protection stay disabled!"), MessageBox.TYPE_YESNO) + elif config.ParentalControl.servicepinactive.value and config.ParentalControl.servicepin[0].value == 'aaaa': + self.session.openWithCallback(self.ServicePinMessageCallback, MessageBox, _("No valid service PIN found!\nDo you like to change the service PIN now?\nWhen you say 'No' here the service protection stay disabled!"), MessageBox.TYPE_YESNO) + else: + for x in self["config"].list: + x[1].save() + self.close() def keyNumberGlobal(self, number): pass @@ -172,10 +192,7 @@ class ParentalControlEditor(Screen): if list is not None: services = list.getContent("CN", True) #(servicecomparestring, name) for s in services: - if s[1][0]=='\xc2' and s[1][1]=='\x86': # ignore shortname brackets - key = s[1].lower()[2] - else: - key = s[1].lower()[0] + key = s[1].lower()[0] if key < 'a' or key > 'z': key = chr(SPECIAL_CHAR) #key = str(key) @@ -192,7 +209,7 @@ class ParentalControlEditor(Screen): else: x = (x, x) mylist.append(x) - mylist.sort(key=operator.itemgetter(1)) + mylist.sort(key=itemgetter(1)) sel = ord(self.currentLetter) - SPECIAL_CHAR self.session.openWithCallback(self.letterChosen, ChoiceBox, title=_("Show services beginning with"), list=mylist, keys = [], selection = sel)