add subservice selection to timer (when linkage services are avail for the selected...
[enigma2.git] / lib / python / Screens / SubserviceSelection.py
index a73cf0e4e08eb9137acf9eb1478c79c0213b976c..0aa34b61a378b4daec97d84b78208a2c2b5e7ae7 100644 (file)
@@ -2,7 +2,7 @@ from Screen import Screen
 from Components.ActionMap import ActionMap
 from Components.MenuList import MenuList
 from Components.Label import Label
-from enigma import eServiceReferencePtr, eServiceReference
+from enigma import eServiceReferencePtr, eServiceReference, iSubserviceListPtr, eServiceEventPtrPtr
 
 class SubserviceSelection(Screen):
        def KeyOk(self):
@@ -10,7 +10,7 @@ class SubserviceSelection(Screen):
                self.close(selection[1])
        def Cancel(self):
                self.close(None)
-       def __init__(self, session, subservices):
+       def __init__(self, session, subservices, parent=None):
                Screen.__init__(self, session)
 
                self["actions"] = ActionMap(["OkCancelActions"], 
@@ -21,10 +21,19 @@ class SubserviceSelection(Screen):
 
                self.subservices = subservices
 
+               print subservices
                tlist = []
-               n = subservices.getNumberOfSubservices()
-               for x in range(n):
-                       i = subservices.getSubservice(x)
-                       tlist.append((i.getName(), i))
+               if isinstance(subservices, iSubserviceListPtr):
+                       n = subservices.getNumberOfSubservices()
+                       for x in range(n):
+                               i = subservices.getSubservice(x)
+                               tlist.append((i.getName(), i))
+               elif isinstance(subservices, eServiceEventPtrPtr):
+                       n = subservices.getNumOfLinkageServices()
+                       for x in range(n):
+                               i = subservices.getLinkageService(parent, x)
+                               tlist.append((i.getName(), i))
+               else:
+                       print "unknown type of subservices"
 
                self["subservices"] = MenuList(tlist)