X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/572caca1ba06dd8247724c9f5d6bcad515e2edf4..77a115baa70d23d342a1b54aa5cedd57bc5d6282:/lib/python/Screens/SubserviceSelection.py diff --git a/lib/python/Screens/SubserviceSelection.py b/lib/python/Screens/SubserviceSelection.py index a73cf0e4..58710568 100644 --- a/lib/python/Screens/SubserviceSelection.py +++ b/lib/python/Screens/SubserviceSelection.py @@ -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", 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)