bouquet = self.servicelist.bouquet_root
service = None
serviceHandler = eServiceCenter.getInstance()
- if bouquet.toString().find('FROM BOUQUET "bouquets.') == -1: #FIXME HACK
+ if not config.usage.multibouquet.value:
service, number = self.searchNumberHelper(serviceHandler, number, bouquet)
else:
bouquetlist = serviceHandler.list(bouquet)
bouquet = self.servicelist.appendDVBTypes(bouquetlist.getNext())
if not bouquet.valid(): #check end of list
break
- if (bouquet.flags & eServiceReference.flagDirectory) != eServiceReference.flagDirectory:
+ if not (bouquet.flags & eServiceReference.isDirectory):
continue
service, number = self.searchNumberHelper(serviceHandler, number, bouquet)
if not service is None:
service = servicelist.getNext()
if not service.valid(): #check if end of list
break
- if service.flags: #ignore non playable services
+ if service.flags & (eServiceReference.isDirectory | eServiceReference.isMarker): #ignore non playable services
continue
services.append(ServiceReference(service))
return services
self.bsel = self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, self.bouquets, self.addSubserviceToBouquet)
elif cnt == 1: # add to only one existing bouquet
self.addSubserviceToBouquet(self.bouquets[0][1])
+ self.session.open(MessageBox, _("Service has been added to the favourites."), MessageBox.TYPE_INFO)
- def bouquetSelClosed(self, **args):
+ def bouquetSelClosed(self, confirmed):
self.bsel = None
del self.selectedSubservice
+ if confirmed:
+ self.session.open(MessageBox, _("Service has been added to the selected bouquet."), MessageBox.TYPE_INFO)
def addSubserviceToBouquet(self, dest):
- serviceHandler = eServiceCenter.getInstance()
- list = dest and serviceHandler.list(dest)
- mutableList = dest and list and list.startEdit()
- if mutableList:
- if not mutableList.addService(self.selectedSubservice[1]):
- mutableList.flushChanges()
- # do some voodoo to check if the subservice is added to the
- # current selected bouquet in channellist
- cur_root = self.servicelist.getRoot();
- str1 = cur_root.toString()
- str2 = dest.toString()
- pos1 = str1.find("FROM BOUQUET")
- pos2 = str2.find("FROM BOUQUET")
- if pos1 != -1 and pos2 != -1 and str1[pos1:] == str2[pos2:]:
- self.servicelist.setMode()
+ self.servicelist.addServiceToBouquet(dest, self.selectedSubservice[1])
if self.bsel:
- self.bsel.close()
+ self.bsel.close(True)
else:
del self.selectedSubservice