X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e66f4bdb5fd20a77e5db713d732275aa32b22af5..e65ec4c939982c4dc7d257f6adfd1b8ab87e1179:/lib/python/Screens/ChannelSelection.py diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index e1402aea..eb372c7a 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -1,28 +1,37 @@ +from Tools.Profile import profile + from Screen import Screen from Components.Button import Button from Components.ServiceList import ServiceList from Components.ActionMap import NumberActionMap, ActionMap, HelpableActionMap from Components.MenuList import MenuList from Components.ServiceEventTracker import ServiceEventTracker +profile("ChannelSelection.py 1") from EpgSelection import EPGSelection from enigma import eServiceReference, eEPGCache, eServiceCenter, eRCInput, eTimer, eDVBDB, iPlayableService, iServiceInformation, getPrevAsciiCode from Components.config import config, ConfigSubsection, ConfigText from Tools.NumericalTextInput import NumericalTextInput +profile("ChannelSelection.py 2") from Components.NimManager import nimmanager -from Components.Sources.Source import ObsoleteSource +profile("ChannelSelection.py 2.1") from Components.Sources.RdsDecoder import RdsDecoder +profile("ChannelSelection.py 2.2") from Components.Sources.ServiceEvent import ServiceEvent +profile("ChannelSelection.py 2.3") from Components.Input import Input +profile("ChannelSelection.py 3") from Components.ParentalControl import parentalControl from Components.Pixmap import Pixmap from Screens.InputBox import InputBox, PinInput from Screens.MessageBox import MessageBox from Screens.ServiceInfo import ServiceInfo +profile("ChannelSelection.py 4") from Screens.RdsDisplay import RassInteractive from ServiceReference import ServiceReference from Tools.BoundFunction import boundFunction from re import compile from os import remove +profile("ChannelSelection.py after imports") FLAG_SERVICE_NEW_FOUND = 64 #define in lib/dvb/idvb.h as dxNewFound = 64 @@ -276,7 +285,7 @@ class SelectionEventInfo: self["ServiceEvent"] = ServiceEvent() self.servicelist.connectSelChanged(self.__selectionChanged) self.timer = eTimer() - self.timer.timeout.get().append(self.updateEventInfo) + self.timer.callback.append(self.updateEventInfo) self.onShown.append(self.__selectionChanged) def __selectionChanged(self): @@ -409,10 +418,10 @@ class ChannelSelectionEdit: if mutableBouquetList: if self.mode == MODE_TV: bName += " (TV)" - str = '1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET \"userbouquet.%s.tv\" ORDER BY bouquet'%(self.buildBouquetID(bName)) + str = '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.%s.tv\" ORDER BY bouquet'%(self.buildBouquetID(bName)) else: bName += " (Radio)" - str = '1:7:2:0:0:0:0:0:0:0:(type == 2) FROM BOUQUET \"userbouquet.%s.radio\" ORDER BY bouquet'%(self.buildBouquetID(bName)) + str = '1:7:2:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.%s.radio\" ORDER BY bouquet'%(self.buildBouquetID(bName)) new_bouquet_ref = eServiceReference(str) if not mutableBouquetList.addService(new_bouquet_ref): mutableBouquetList.flushChanges() @@ -620,7 +629,7 @@ MODE_TV = 0 MODE_RADIO = 1 # this makes it much simple to implement a selectable radio or tv mode :) -service_types_tv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25)' +service_types_tv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) || (type == 134)' service_types_radio = '1:7:2:0:0:0:0:0:0:0:(type == 2)' class ChannelSelectionBase(Screen): @@ -986,14 +995,6 @@ class ChannelSelectionBase(Screen): return self.servicelist.getCurrent() def setCurrentSelection(self, service): - servicepath = service.getPath() - pos = servicepath.find(" FROM BOUQUET") - if pos != -1: - if self.mode == MODE_TV: - servicepath = '(type == 1)' + servicepath[pos:] - else: - servicepath = '(type == 2)' + servicepath[pos:] - service.setPath(servicepath) self.servicelist.setCurrent(service) def getBouquetList(self): @@ -1064,8 +1065,6 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect ChannelSelectionEPG.__init__(self) SelectionEventInfo.__init__(self) - self["CurrentTime"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01") - self["actions"] = ActionMap(["OkCancelActions", "TvRadioActions"], { "cancel": self.cancel, @@ -1081,7 +1080,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect }) self.lastChannelRootTimer = eTimer() - self.lastChannelRootTimer.timeout.get().append(self.__onCreate) + self.lastChannelRootTimer.callback.append(self.__onCreate) self.lastChannelRootTimer.start(100,True) self.history_tv = [ ] @@ -1318,17 +1317,10 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect self.asciiOff() self.close(None) -from Screens.InfoBarGenerics import InfoBarEvent, InfoBarServiceName - -class RadioInfoBar(Screen, InfoBarEvent, InfoBarServiceName): +class RadioInfoBar(Screen): def __init__(self, session): Screen.__init__(self, session) - InfoBarEvent.__init__(self) - InfoBarServiceName.__init__(self) - self["CurrentTime"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01") self["RdsDecoder"] = RdsDecoder(self.session.nav) - self["BlinkingPoint"] = Pixmap() - self["BlinkingPoint"].hide() class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG): ALLOW_SUSPEND = True