-from ChannelSelection import ChannelSelection, BouquetSelector
+from ChannelSelection import ChannelSelection, BouquetSelector, SilentBouquetSelector
from Components.ActionMap import ActionMap, HelpableActionMap
from Components.ActionMap import NumberActionMap
cnt = 0
else:
cnt = len(bouquets)
+ if config.usage.multiepg_ask_bouquet.value:
+ self.openMultiServiceEPGAskBouquet(bouquets, cnt, withCallback)
+ else:
+ self.openMultiServiceEPGSilent(bouquets, cnt, withCallback)
+
+ def openMultiServiceEPGAskBouquet(self, bouquets, cnt, withCallback):
if cnt > 1: # show bouquet list
if withCallback:
self.bouquetSel = self.session.openWithCallback(self.closed, BouquetSelector, bouquets, self.openBouquetEPG, enableWrapAround=True)
elif cnt == 1:
self.openBouquetEPG(bouquets[0][1], withCallback)
+ def openMultiServiceEPGSilent(self, bouquets, cnt, withCallback):
+ root = self.servicelist.getRoot()
+ rootstr = root.toCompareString()
+ current = 0
+ for bouquet in bouquets:
+ if bouquet[1].toCompareString() == rootstr:
+ break
+ current += 1
+ if current >= cnt:
+ current = 0
+ if cnt > 1: # create bouquet list for bouq+/-
+ self.bouquetSel = SilentBouquetSelector(bouquets, True, self.servicelist.getBouquetNumOffset(root))
+ if cnt >= 1:
+ self.openBouquetEPG(root, withCallback)
+
def changeServiceCB(self, direction, epg):
if self.serviceSel:
if direction > 0:
dir = preferredInstantRecordPath()
if not dir or not fileExists(dir, 'w'):
dir = defaultMoviePath()
+# ikseong
+ if not fileExists("/hdd", 0):
+ print "not found /hdd"
+ system("ln -s /media/hdd /hdd")
+#
try:
stat = os_stat(dir)
except:
else:
del self.selectedSubservice
+from Components.Sources.HbbtvApplication import HbbtvApplication
+class InfoBarRedButton:
+ def __init__(self):
+ if not (config.misc.rcused.value == 1):
+ self["RedButtonActions"] = HelpableActionMap(self, "InfobarRedButtonActions",
+ {
+ "activateRedButton": (self.activateRedButton, _("Red button...")),
+ })
+ self["HbbtvApplication"] = HbbtvApplication()
+ else:
+ self["HbbtvApplication"] = Boolean(fixed=0)
+ self["HbbtvApplication"].name = "" #is this a hack?
+
+ self.onHBBTVActivation = [ ]
+ self.onRedButtonActivation = [ ]
+ self.onReadyForAIT = [ ]
+ self.__et = ServiceEventTracker(screen=self, eventmap=
+ {
+ iPlayableService.evHBBTVInfo: self.detectedHbbtvApplication,
+ iPlayableService.evUpdatedInfo: self.updateInfomation
+ })
+
+ def updateAIT(self, orgId=0):
+ for x in self.onReadyForAIT:
+ try:
+ x(orgId)
+ except Exception, ErrMsg:
+ print ErrMsg
+ #self.onReadyForAIT.remove(x)
+
+ def updateInfomation(self):
+ try:
+ self["HbbtvApplication"].setApplicationName("")
+ self.updateAIT()
+ except Exception, ErrMsg:
+ pass
+
+ def detectedHbbtvApplication(self):
+ service = self.session.nav.getCurrentService()
+ info = service and service.info()
+ try:
+ for x in info.getInfoObject(iServiceInformation.sHBBTVUrl):
+ print x
+ if x[0] in (-1, 1):
+ self.updateAIT(x[3])
+ self["HbbtvApplication"].setApplicationName(x[1])
+ break
+ except Exception, ErrMsg:
+ pass
+
+ def activateRedButton(self):
+ service = self.session.nav.getCurrentService()
+ info = service and service.info()
+ if info and info.getInfoString(iServiceInformation.sHBBTVUrl) != "":
+ for x in self.onHBBTVActivation:
+ x()
+ elif False: # TODO: other red button services
+ for x in self.onRedButtonActivation:
+ x()
+
class InfoBarAdditionalInfo:
def __init__(self):