self.i2c = i2c
self.frontend_id = frontend_id
self.__is_empty = is_empty
-
- def isCompatible(self, what):
- if not self.isSupported():
- return False
- compatible = {
+ self.compatible = {
None: (None,),
"DVB-S": ("DVB-S", None),
"DVB-C": ("DVB-C", None),
"DVB-S2": ("DVB-S", "DVB-S2", None),
"DVB-T2": ("DVB-T", "DVB-T2", None)
}
- return what in compatible[self.type]
+
+ def isCompatible(self, what):
+ if not self.isSupported():
+ return False
+ return what in self.compatible[self.type]
+
+ def canBeCompatible(self, what):
+ if self.isCompatible(what):
+ return True
+ for type in self.getMultiTypeList().values():
+ if what in self.compatible[type]:
+ return True
+ return False
def getType(self):
return self.type
def hasNimType(self, chktype):
for slot in self.nim_slots:
- if slot.isCompatible(chktype):
+ if slot.canBeCompatible(chktype):
return True
- for type in slot.getMultiTypeList().values():
- if chktype == type:
- return True
return False
def getNimType(self, slotid):
nim = config.Nims[slotid]
configMode = nim.configMode.value
- if self.nim_slots[slotid].isCompatible("DVB-S") or self.nim_slots[slotid].isCompatible("DVB-T") or self.nim_slots[slotid].isCompatible("DVB-C") or self.nim_slots[slotid].isCompatible("DVB-T2"):
+ if self.nim_slots[slotid].isCompatible("DVB-S") or self.nim_slots[slotid].isCompatible("DVB-T") or self.nim_slots[slotid].isCompatible("DVB-C"):
return not (configMode == "nothing")
def getSatListForNim(self, slotid):
n += 1
nim.terrestrial = ConfigSelection(choices = list)
nim.terrestrial_5V = ConfigOnOff()
- elif slot.isCompatible("DVB-T2"):
- nim.configMode = ConfigSelection(
- choices = {
- "enabled": _("enabled"),
- "nothing": _("nothing connected"),
- },
- default = "enabled")
- list = []
- n = 0
- for x in nimmgr.terrestrialsList:
- list.append((str(n), x[0]))
- n += 1
- nim.terrestrial = ConfigSelection(choices = list)
- nim.terrestrial_5V = ConfigOnOff()
else:
empty_slots += 1
nim.configMode = ConfigSelection(choices = { "nothing": _("disabled") }, default="nothing");