1 from Source import Source
2 from enigma import eServiceCenter, eServiceReference
4 class ServiceList(Source):
5 def __init__(self, root, command_func = None):
8 self.command_func = command_func
10 def getServicesAsList(self, format = "SN"):
11 services = self.getServiceList()
12 return services and services.getContent(format, True)
14 def getServiceList(self):
15 serviceHandler = eServiceCenter.getInstance()
16 return serviceHandler.list(self.root)
18 def validateReference(self, ref):
19 return ref in self.getServicesAsList("S")
21 list = property(getServicesAsList)
22 lut = {"Reference": 0, "Name": 1}
27 def setRoot(self, root):
28 assert isinstance(root, eServiceReference)
32 root = property(getRoot, setRoot)
34 def handleCommand(self, cmd):
35 print "ServiceList handle command"
37 if not self.validateReference(cmd):
38 print "Service reference did not validate!"
41 ref = eServiceReference(cmd)
43 self.command_func(ref)