def openMultiServiceEPG(self, withCallback=True):
bouquets = self.servicelist.getBouquetList()
- root = self.servicelist.getRoot()
if bouquets is None:
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)
+ self.dlg_stack.append(self.bouquetSel)
+ else:
+ self.bouquetSel = self.session.open(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:
answer[1][1]()
from Tools.BoundFunction import boundFunction
+import inspect
# depends on InfoBarExtensions
return name
def getPluginList(self):
- list = [((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None, p.name) for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU)]
- list.sort(key = lambda e: e[2]) # sort by name
- return list
+ l = []
+ for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU):
+ args = inspect.getargspec(p.__call__)[0]
+ if len(args) == 1 or len(args) == 2 and isinstance(self, InfoBarChannelSelection):
+ l.append(((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None, p.name))
+ l.sort(key = lambda e: e[2]) # sort by name
+ return l
def runPlugin(self, plugin):
if isinstance(self, InfoBarChannelSelection):
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: