-
-from enigma import *
-
-import NavigationInstance
+from enigma import eServiceReference, eServiceCenter
class ServiceReference(eServiceReference):
def __init__(self, ref):
- if isinstance(ref, str):
- ref = eServiceReference(ref)
- self.ref = ref
+ if not isinstance(ref, eServiceReference):
+ self.ref = eServiceReference(ref or "")
+ else:
+ self.ref = ref
+ self.serviceHandler = eServiceCenter.getInstance()
- def getStaticServiceInformation(self):
- return NavigationInstance.instance.ServiceHandler.info(self.ref)
-
def __str__(self):
return self.ref.toString()
def getServiceName(self):
- info = self.getStaticServiceInformation()
- if info is not None:
- return None
-
- return info.getName(self.ref)
+ info = self.info()
+ return info and info.getName(self.ref) or ""
+
+ def info(self):
+ return self.serviceHandler.info(self.ref)
+
+ def list(self):
+ return self.serviceHandler.list(self.ref)