X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/925629a36b521924a774da09b4f11515dd1889b3..b01b4beb24bab09840bf11e2f7ca06cccfd5677c:/lib/python/Screens/ScanSetup.py diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py index 7089074a..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 @@ -520,8 +522,15 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): nim_list = [] # collect all nims which are *not* set to "nothing" for n in nimmanager.nim_slots: - if not n.config_mode in ("loopthrough", "satposdepends", "nothing"): - nim_list.append((str(n.slot), n.friendly_full_description)) + 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 + continue + nim_list.append((str(n.slot), n.friendly_full_description)) self.scan_nims = ConfigSelection(choices = nim_list) @@ -704,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 @@ -878,6 +889,10 @@ class ScanSimple(ConfigListScreen, Screen, CableTransponderSearchSupport): need_scan = True print x, "not in ", known_networks known_networks.append(x) + + # don't offer to scan nims if nothing is connected + if not nimmanager.somethingConnected(nim.slot): + need_scan = False if need_scan: nims_to_scan.append(nim)