1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
from Screen import Screen
from Components.ActionMap import ActionMap
from Components.MenuList import MenuList
from Components.Label import Label
from enigma import eServiceReferencePtr, eServiceReference, iSubserviceListPtr, eServiceEventPtrPtr
class SubserviceSelection(Screen):
def KeyOk(self):
selection = self["subservices"].getCurrent()
self.close(selection[1])
def Cancel(self):
self.close(None)
def __init__(self, session, subservices, parent=None):
Screen.__init__(self, session)
self["actions"] = ActionMap(["OkCancelActions"],
{
"cancel": self.Cancel,
"ok": self.KeyOk,
})
self.subservices = subservices
print "subservices", subservices
tlist = []
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)
|