aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/InfoBarGenerics.py
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-11-27 21:03:43 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-11-27 21:03:43 +0000
commit1614705deccca22408e6a401341e56ccc2fc6682 (patch)
treecf8aac70b52f8a55aa992ed3767813c96aa8261d /lib/python/Screens/InfoBarGenerics.py
parent2f74d5618fa93580d86caf1bf1d0eb2108418de8 (diff)
downloadenigma2-1614705deccca22408e6a401341e56ccc2fc6682.tar.gz
enigma2-1614705deccca22408e6a401341e56ccc2fc6682.zip
code cleanup
Diffstat (limited to 'lib/python/Screens/InfoBarGenerics.py')
-rw-r--r--lib/python/Screens/InfoBarGenerics.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 604f164a..e101cd25 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -246,7 +246,43 @@ class InfoBarNumberZap:
def numberEntered(self, retval):
# print self.servicelist
if retval > 0:
- self.servicelist.zapToNumber(retval)
+ self.zapToNumber(retval)
+
+ def searchNumberHelper(self, serviceHandler, num, bouquet):
+ servicelist = serviceHandler.list(bouquet)
+ if not servicelist is None:
+ while num:
+ serviceIterator = servicelist.getNext()
+ if not serviceIterator.valid(): #check end of list
+ break
+ if serviceIterator.flags: #assume normal dvb service have no flags set
+ continue
+ num -= 1;
+ if not num: #found service with searched number ?
+ return serviceIterator, 0
+ return None, num
+
+ def zapToNumber(self, number):
+ bouquet = self.servicelist.bouquet_root
+ service = None
+ serviceHandler = eServiceCenter.getInstance()
+ if bouquet.toString().find('FROM BOUQUET "bouquets.') == -1: #FIXME HACK
+ service, number = self.searchNumberHelper(serviceHandler, number, bouquet)
+ else:
+ bouquetlist = serviceHandler.list(bouquet)
+ if not bouquetlist is None:
+ while number:
+ bouquet = bouquetlist.getNext()
+ if not bouquet.valid(): #check end of list
+ break
+ if ((bouquet.flags & eServiceReference.flagDirectory) != eServiceReference.flagDirectory):
+ continue
+ service, number = self.searchNumberHelper(serviceHandler, number, bouquet)
+ if not service is None:
+ self.session.nav.playService(service) #play service
+ if self.servicelist.getRoot() != bouquet: #already in correct bouquet?
+ self.servicelist.setRoot(bouquet)
+ self.servicelist.setCurrentSelection(service) #select the service in servicelist
class InfoBarChannelSelection:
""" ChannelSelection - handles the channelSelection dialog and the initial