X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bd8c0c0122a521030e867ec52aee69a48b8ab463..a8a4bf79a9686f655ff7cb49d08879ae63d432a6:/ServiceReference.py?ds=sidebyside diff --git a/ServiceReference.py b/ServiceReference.py index 238e7f6c..4907fa28 100644 --- a/ServiceReference.py +++ b/ServiceReference.py @@ -1,37 +1,35 @@ - -from enigma import * - -import NavigationInstance +from enigma import eServiceReference, eServiceCenter class ServiceReference(eServiceReference): def __init__(self, ref): - if isinstance(ref, str): - self.ref = eServiceReference(ref) + 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.info() - if info is None: - return None - - return info.getName(self.ref) + return info and info.getName(self.ref) or "" - def play(self): + def info(self): return self.serviceHandler.info(self.ref) - - def record(self): - return self.serviceHandler.record(self.ref) - + def list(self): return self.serviceHandler.list(self.ref) - - def info(self): - return self.serviceHandler.info(self.ref) - def offlineOperations(self): - return self.serviceHandler.offlineOperations(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 and ref.getPath() == "") \ No newline at end of file