X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d66c36f6534f32c7362c45965051cf84ccf84ba9..b01b4beb24bab09840bf11e2f7ca06cccfd5677c:/lib/python/Screens/ScanSetup.py diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py index aed90268..fa787a70 100644 --- a/lib/python/Screens/ScanSetup.py +++ b/lib/python/Screens/ScanSetup.py @@ -295,9 +295,11 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): self.list = [] ConfigListScreen.__init__(self, self.list) - self.createSetup() - - self["introduction"] = Label(_("Press OK to start the scan")) + if not self.scan_nims.value == "": + self.createSetup() + self["introduction"] = Label(_("Press OK to start the scan")) + else: + self["introduction"] = Label(_("Nothing to scan!\nPlease setup your tuner settings before you start a service scan.")) def runAsync(self, finished_cb): self.finished_cb = finished_cb @@ -522,6 +524,8 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): for n in nimmanager.nim_slots: if n.config_mode == "nothing": continue + if n.config_mode == "advanced" and len(nimmanager.getSatListForNim(n.slot)) < 1: + continue if n.config_mode in ("loopthrough", "satposdepends"): root_id = nimmanager.sec.getRoot(n.slot_id, int(n.config.connectedTo.value)) if n.type == nimmanager.nim_slots[root_id].type: # check if connected from a DVB-S to DVB-S2 Nim or vice versa @@ -709,6 +713,8 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): tlist.append(buildTerTransponder(*args, **kwargs)) def keyGo(self): + if self.scan_nims.value == "": + return tlist = [] flags = None startScan = True @@ -729,10 +735,11 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): assert len(self.scan_satselection) > index_to_scan nimsats = self.satList[index_to_scan] - orbpos = self.scan_satselection[index_to_scan].getOrbitalPosition() + selsatidx = self.scan_satselection[index_to_scan].index # however, the satList itself could be empty. in that case, "index" is 0 (for "None"). if len(nimsats): + orbpos = nimsats[selsatidx][0] if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S: fec = self.scan_sat.fec.value else: @@ -750,7 +757,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): self.scan_sat.pilot.value) removeAll = False elif self.scan_type.value == "single_satellite": - sat = self.scan_satselection[index_to_scan].getSat() + sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] getInitialTransponderList(tlist, sat[0]) elif self.scan_type.value.find("multisat") != -1: SatList = nimmanager.getSatListForNim(index_to_scan)