self.close(False)
class ChannelContextMenu(Screen):
+
def __init__(self, session, csel):
Screen.__init__(self, session)
self.csel = csel
+ self.bsel = None
self["actions"] = ActionMap(["OkCancelActions"],
{
else:
cnt = len(bouquets)
if cnt > 1: # show bouquet list
- self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, bouquets, self.addCurrentServiceToBouquet)
+ self.bsel = self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, bouquets, self.addCurrentServiceToBouquet)
elif cnt == 1: # add to only one existing bouquet
self.addCurrentServiceToBouquet(bouquets[0][1])
else: #no bouquets in root.. so assume only one favourite list is used
self.addCurrentServiceToBouquet(self.csel.bouquet_root)
def bouquetSelClosed(self, recursive):
+ self.bsel = None
if recursive:
self.close(False)
def addCurrentServiceToBouquet(self, dest):
self.csel.addCurrentServiceToBouquet(dest)
- self.close(True) # close bouquet selection
+ if self.bsel is not None:
+ self.bsel.close(True)
+ else:
+ self.close(True) # close bouquet selection
def removeCurrentService(self):
self.csel.removeCurrentService()
serviceHandler = eServiceCenter.getInstance()
if not root.valid():
root=self.getRoot()
- list = serviceHandler.list(root)
+ list = root and serviceHandler.list(root)
if list is not None:
return list.startEdit()
return None
if pos != -1:
filename = '/etc/enigma2/' + refstr[:pos] # FIXMEEE !!! HARDCODED /etc/enigma2
self.removeCurrentService()
- remove(filename)
+ try:
+ remove(filename)
+ except OSError:
+ print "error during remove of", filename
eDVBDB.getInstance().reloadBouquets()
# multiple marked entry stuff ( edit mode, later multiepg selection )