use service compare strings instead of eServiceReferences in parental control
[enigma2.git] / lib / python / Screens / ParentalControlSetup.py
index 2a9074665896145c06dff70c9e09bb7f7336def9..a8fdcc5fb5f67282d6fdc9d2db7af2c51fa6bd1f 100644 (file)
@@ -170,21 +170,16 @@ class ParentalControlEditor(Screen):
                
                list = serviceHandler.list(self.root)
                if list is not None:
-                       while 1:
-                               s = list.getNext()
-                               if s.valid():
-                                       service = s.toString()
-                                       name = ServiceReference(service).getServiceName()
-                                       key = name.lower()[0]
-                                       if key < 'a' or key > 'z':
-                                               key = '&'
-                                       #key = str(key)
-                                       if not self.servicesList.has_key(key):
-                                               self.servicesList[key] = []
-                                       # (servicestring, eServiceRef, name)
-                                       self.servicesList[key].append((service, s, name))
-                               else:
-                                       break
+                       services = list.getContent("CN", True) #(servicecomparestring, name)
+                       for s in services:
+                               key = s[1].lower()[0]
+                               if key < 'a' or key > 'z':
+                                       key = '&'
+                               #key = str(key)
+                               if not self.servicesList.has_key(key):
+                                       self.servicesList[key] = []
+                               self.servicesList[key].append(s)
+
                print self.servicesList
 
        def chooseLetter(self):
@@ -206,7 +201,7 @@ class ParentalControlEditor(Screen):
                        self.currentLetter = result[1]
                        self.list = []
                        for x in self.servicesList[result[1]]:
-                               self.list.append(ParentalControlEntryComponent(x[1], x[2], parentalControl.getProtectionLevel(x[1]) != -1))
+                               self.list.append(ParentalControlEntryComponent(x[0], x[1], parentalControl.getProtectionLevel(x[0]) != -1))
                        self.servicelist.setList(self.list)                     
 
 class ParentalControlChangePin(Screen, ConfigListScreen, ProtectedScreen):