X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FSatconfig.py;h=c5366f90bf0a33e1fdfc2a5d219ea8d8dacdeddb;hp=a5712dcd9af2237e895c117cef034ff3a2d5ffa5;hb=7b7a80a1f979b0bd9c68aa33af968db25bf63f81;hpb=7211bd40026fb8b00be038a59abcbfa29569b3ed diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index a5712dc..c5366f9 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -95,6 +95,7 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen): self.advancedType = None self.advancedManufacturer = None self.advancedSCR = None + self.advancedDiction = None self.advancedConnected = None if self.nim.isMultiType(): @@ -206,7 +207,7 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen): checkList = (self.configMode, self.diseqcModeEntry, self.advancedSatsEntry, \ self.advancedLnbsEntry, self.advancedDiseqcMode, self.advancedUsalsEntry, \ self.advancedLof, self.advancedPowerMeasurement, self.turningSpeed, \ - self.advancedType, self.advancedSCR, self.advancedManufacturer, self.advancedUnicable, self.advancedConnected, \ + self.advancedType, self.advancedSCR, self.advancedDiction, self.advancedManufacturer, self.advancedUnicable, self.advancedConnected, \ self.uncommittedDiseqcCommand, self.cableScanType, self.multiType) if self["config"].getCurrent() == self.multiType: from Components.NimManager import InitNimManager @@ -236,7 +237,7 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen): def fillListWithAdvancedSatEntrys(self, Sat): lnbnum = int(Sat.lnb.value) currLnb = self.nimConfig.advanced.lnb[lnbnum] - + diction = None if isinstance(currLnb, ConfigNothing): currLnb = None @@ -258,34 +259,51 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen): self.advancedUnicable = getConfigListEntry("Unicable "+_("Configuration Mode"), currLnb.unicable) self.list.append(self.advancedUnicable) if currLnb.unicable.value == "unicable_user": - self.advancedSCR = getConfigListEntry(_("Channel"), currLnb.satcruser) + self.advancedDiction = getConfigListEntry(_("Diction"), currLnb.dictionuser) + self.list.append(self.advancedDiction) + + if currLnb.dictionuser.value == "EN50494": + satcr = currLnb.satcruserEN50494 + stcrvco = currLnb.satcrvcouserEN50494[currLnb.satcruserEN50494.index] + elif currLnb.dictionuser.value == "EN50607": + satcr = currLnb.satcruserEN50607 + stcrvco = currLnb.satcrvcouserEN50607[currLnb.satcruserEN50607.index] + + self.advancedSCR = getConfigListEntry(_("Channel"), satcr) self.list.append(self.advancedSCR) - self.list.append(getConfigListEntry(_("Frequency"), currLnb.satcrvcouser[currLnb.satcruser.index])) + self.list.append(getConfigListEntry(_("Frequency"), stcrvco)) + self.list.append(getConfigListEntry(_("LOF/L"), currLnb.lofl)) self.list.append(getConfigListEntry(_("LOF/H"), currLnb.lofh)) self.list.append(getConfigListEntry(_("Threshold"), currLnb.threshold)) elif currLnb.unicable.value == "unicable_matrix": manufacturer_name = currLnb.unicableMatrixManufacturer.value manufacturer = currLnb.unicableMatrix[manufacturer_name] +# if "product" in manufacturer.content: product_name = manufacturer.product.value self.advancedManufacturer = getConfigListEntry(_("Manufacturer"), currLnb.unicableMatrixManufacturer) - self.advancedType = getConfigListEntry(_("Type"), manufacturer.product) - self.advancedSCR = getConfigListEntry(_("Channel"), manufacturer.scr[product_name]) self.list.append(self.advancedManufacturer) - self.list.append(self.advancedType) - self.list.append(self.advancedSCR) - self.list.append(getConfigListEntry(_("Frequency"), manufacturer.vco[product_name][manufacturer.scr[product_name].index])) + if product_name in manufacturer.scr: + diction = manufacturer.diction[product_name].value + self.advancedType = getConfigListEntry(_("Type"), manufacturer.product) + self.advancedSCR = getConfigListEntry(_("Channel"), manufacturer.scr[product_name]) + self.list.append(self.advancedType) + self.list.append(self.advancedSCR) + self.list.append(getConfigListEntry(_("Frequency"), manufacturer.vco[product_name][manufacturer.scr[product_name].index])) elif currLnb.unicable.value == "unicable_lnb": manufacturer_name = currLnb.unicableLnbManufacturer.value manufacturer = currLnb.unicableLnb[manufacturer_name] +# if "product" in manufacturer.content: product_name = manufacturer.product.value self.advancedManufacturer = getConfigListEntry(_("Manufacturer"), currLnb.unicableLnbManufacturer) - self.advancedType = getConfigListEntry(_("Type"), manufacturer.product) - self.advancedSCR = getConfigListEntry(_("Channel"), manufacturer.scr[product_name]) self.list.append(self.advancedManufacturer) - self.list.append(self.advancedType) - self.list.append(self.advancedSCR) - self.list.append(getConfigListEntry(_("Frequency"), manufacturer.vco[product_name][manufacturer.scr[product_name].index])) + if product_name in manufacturer.scr: + diction = manufacturer.diction[product_name].value + self.advancedType = getConfigListEntry(_("Type"), manufacturer.product) + self.advancedSCR = getConfigListEntry(_("Channel"), manufacturer.scr[product_name]) + self.list.append(self.advancedType) + self.list.append(self.advancedSCR) + self.list.append(getConfigListEntry(_("Frequency"), manufacturer.vco[product_name][manufacturer.scr[product_name].index])) choices = [] connectable = nimmanager.canConnectTo(self.slotid) @@ -303,7 +321,7 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen): self.list.append(getConfigListEntry(_("Increased voltage"), currLnb.increased_voltage)) self.list.append(getConfigListEntry(_("Tone mode"), Sat.tonemode)) - if lnbnum < 33: + if lnbnum < 65 and diction !="EN50607": self.advancedDiseqcMode = getConfigListEntry(_("DiSEqC mode"), currLnb.diseqcMode) self.list.append(self.advancedDiseqcMode) if currLnb.diseqcMode.value != "none": @@ -367,7 +385,40 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen): self.fillListWithAdvancedSatEntrys(Sat) self["config"].list = self.list + def checkLoopthrough(self): + if self.nimConfig.configMode.value == "loopthrough": + loopthrough_count = 0 + dvbs_slots = nimmanager.getNimListOfType('DVB-S') + dvbs_slots_len = len(dvbs_slots) + + for x in dvbs_slots: + try: + nim_slot = nimmanager.nim_slots[x] + if nim_slot == self.nimConfig: + self_idx = x + if nim_slot.config.configMode.value == "loopthrough": + loopthrough_count += 1 + except: pass + if loopthrough_count >= dvbs_slots_len: + return False + + self.slot_dest_list = [] + def checkRecursiveConnect(slot_id): + if slot_id in self.slot_dest_list: + return False + self.slot_dest_list.append(slot_id) + slot_config = nimmanager.nim_slots[slot_id].config + if slot_config.configMode.value == "loopthrough": + return checkRecursiveConnect(int(slot_config.connectedTo.value)) + return True + + return checkRecursiveConnect(self.slotid) + def keySave(self): + if not self.checkLoopthrough(): + self.session.open(MessageBox, _("The loopthrough setting is wrong."),MessageBox.TYPE_ERROR,timeout=10) + return + old_configured_sats = nimmanager.getConfiguredSats() self.run() new_configured_sats = nimmanager.getConfiguredSats()