X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=ServiceReference.py;h=401e47acab5207f4550e31289eb11e0a3806a062;hb=6804e694b874ee595dee7b258b59cf80dc6faf0e;hp=c4c2f467ef93ca9a6114e686708327a5aa35ce9a;hpb=6e8738f7f86c2bd4263c99a0095dc1a071870dca;p=vuplus_dvbapp diff --git a/ServiceReference.py b/ServiceReference.py index c4c2f46..401e47a 100644 --- a/ServiceReference.py +++ b/ServiceReference.py @@ -1,26 +1,35 @@ - -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 - - def getStaticServiceInformation(self): - info = iStaticServiceInformationPtr() - if NavigationInstance.instance.ServiceHandler.info(self.ref, info): - info = None - return info - + if not isinstance(ref, eServiceReference): + self.ref = eServiceReference(ref or "") + else: + self.ref = ref + self.serviceHandler = eServiceCenter.getInstance() + def __str__(self): return self.ref.toString() - + def getServiceName(self): - info = self.getStaticServiceInformation() - if not info: - 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) + + def getType(self): + return self.ref.type + + def getPath(self): + return self.ref.getPath() + + def getFlags(self): + return self.ref.flags + + def isRecordable(self): + ref = self.ref + return ref.flags & eServiceReference.isGroup or (ref.type == eServiceReference.idDVB) or (ref.type == 0x2000) \ No newline at end of file