[unicable] Support JESS(EN50607) and update unicable.xml, thanks to adenin.
[vuplus_dvbapp] / lib / python / Screens / Satconfig.py
index bce6525..c5366f9 100644 (file)
@@ -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":