IS_WIDESCREEN = 3
SUBSERVICES_AVAILABLE = 4
- def __init__(self, type, *args, **kwargs):
- Converter.__init__(self)
+ def __init__(self, type):
+ Converter.__init__(self, type)
self.type = {
"HasTelext": self.HAS_TELETEXT,
"IsMultichannel": self.IS_MULTICHANNEL,
}[type]
self.interesting_events = {
- self.HAS_TELETEXT: [iPlayableService.evEnd, iPlayableService.evUpdatedInfo],
- self.IS_MULTICHANNEL: [iPlayableService.evUpdatedInfo, iPlayableService.evEnd],
- self.IS_CRYPTED: [iPlayableService.evUpdatedInfo, iPlayableService.evEnd],
- self.IS_WIDESCREEN: [iPlayableService.evUpdatedEventInfo, iPlayableService.evEnd],
- self.SUBSERVICES_AVAILABLE: [iPlayableService.evUpdatedEventInfo, iPlayableService.evEnd]
+ self.HAS_TELETEXT: [iPlayableService.evUpdatedInfo],
+ self.IS_MULTICHANNEL: [iPlayableService.evUpdatedInfo],
+ self.IS_CRYPTED: [iPlayableService.evUpdatedInfo],
+ self.IS_WIDESCREEN: [iPlayableService.evUpdatedEventInfo],
+ self.SUBSERVICES_AVAILABLE: [iPlayableService.evUpdatedEventInfo]
}[self.type]
def getServiceInfoValue(self, info, what):
return info.getInfoString(what)
def getBoolean(self):
+ if self.cache is None:
+ self.cache = self.__getBoolean()
+ return self.cache
+
+ def __getBoolean(self):
service = self.source.service
info = service and service.info()
if not info:
return subservices and subservices.getNumberOfSubservices() > 0
boolean = property(getBoolean)
+
+ def changed(self, what):
+ if what[0] != self.CHANGED_SPECIFIC or what[1] in self.interesting_events:
+ Converter.changed(self, what)