def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.DynamicSwitch = False self.type = type self.poll_interval = 9500 self.poll_enabled = True self.caid_data = { ( "0x100", "0x1ff", "Seca", "S" ), ( "0x500", "0x5ff", "Via", "V" ), ( "0x600", "0x6ff", "Irdeto", "I" ), ( "0x900", "0x9ff", "NDS", "ND"), ( "0xb00", "0xbff", "Conax", "CO"), ( "0xd00", "0xdff", "CryptoW", "CW"), ( "0xe00", "0xeff", "PowerVU", "P" ), ("0x1000", "0x10FF", "Tandberg", "TB"), ("0x1700", "0x17ff", "Beta", "B" ), ("0x1800", "0x18ff", "Nagra", "N" ), ("0x2600", "0x2600", "Biss", "BI"), ("0x2700", "0x2710", "Dre3", "D3"), ("0x4ae0", "0x4ae1", "Dre", "D" ), ("0x4aee", "0x4aee", "BulCrypt", "B1"), ("0x5581", "0x5581", "BulCrypt", "B2"), ("0x5601", "0x5604", "Verimatrix", "VM") } self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None self.DynamicTimer = eTimer() if self.doSwitch: try: self.DynamicTimer.callback.append(self.doSwitch) except: return
def __init__(self, session): self.softcam = CamControl("softcam") self.ecminfo = GetEcmInfo() config.misc.softcams.value == "" Setup.__init__(self, session=session, setup="softcamscriptsetup") self["key_yellow"] = StaticText() self["key_blue"] = StaticText() self["restartActions"] = HelpableActionMap( self, ["ColorActions"], { "yellow": (self.restart, _("Immediately restart selected cams.")) }, prio=0, description=_("Softcam Actions")) self["restartActions"].setEnabled(False) self["infoActions"] = HelpableActionMap( self, ["ColorActions"], {"blue": (self.softcamInfo, _("Display oscam information."))}, prio=0, description=_("Softcam Actions")) self["infoActions"].setEnabled(False) (newEcmFound, ecmInfo) = self.ecminfo.getEcm() self["info"] = ScrollLabel("".join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.callback.append(self.setEcmInfo) self.EcmInfoPollTimer.start(1000) self.onShown.append(self.updateButtons)
def ShowECMInformation(self): if self.info: from Components.Converter.PliExtraInfo import caid_data self["Title"].text = _("Service info - ECM Info") tlist = [] for caid in sorted(set(self.info.getInfoObject(iServiceInformation.sCAIDPIDs)), key=lambda x: (x[0], x[1])): CaIdDescription = _("Undefined") extra_info = "" provid = "" for caid_entry in caid_data: if int(caid_entry[0], 16) <= caid[0] <= int(caid_entry[1], 16): CaIdDescription = caid_entry[2] break if caid[2]: if CaIdDescription == "Seca": provid = ",".join([caid[2][i:i+4] for i in range(0, len(caid[2]), 30)]) if CaIdDescription == "Nagra": provid = caid[2][-4:] if CaIdDescription == "Via": provid = caid[2][-6:] if provid: extra_info = "provid=%s" % provid else: extra_info = "extra data=%s" % caid[2] from Tools.GetEcmInfo import GetEcmInfo ecmdata = GetEcmInfo().getEcmData() color = "\c00??;?00" if caid[0] == int(ecmdata[1], 16) and (caid[1] == int(ecmdata[3], 16) or str(int(ecmdata[2], 16)) in provid) else "" tlist.append(ServiceInfoListEntry("%sECMPid %04X (%d) %04X-%s %s" % (color, caid[1], caid[1], caid[0], CaIdDescription, extra_info))) if not tlist: tlist.append(ServiceInfoListEntry(_("No ECMPids available (FTA Service)"))) self["infolist"].l.setList(tlist)
def __init__(self, session): Screen.__init__(self, session) self.setup_title = _('Softcam Setup') self["lab1"] = Label() self['actions'] = ActionMap( ['OkCancelActions', 'ColorActions', 'CiSelectionActions'], { 'cancel': self.cancel, 'green': self.save, 'red': self.cancel }, -1) self.list = [] ConfigListScreen.__init__(self, self.list, session=session) self.softcam = CamControlService('softcam') self.ecminfo = GetEcmInfo() newEcmFound, ecmInfo = self.ecminfo.getEcm() self['info'] = ScrollLabel(''.join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.callback.append(self.setEcmInfo) self.EcmInfoPollTimer.start(1000) softcams = self.softcam.getList() self.softcams = ConfigSelection(choices=softcams) self.softcams.value = self.softcam.current() self.list.append(getConfigListEntry(_('Select softcam'), self.softcams)) self.list.append( getConfigListEntry(_('Restart softcam'), ConfigAction(self.restart, 's'))) self["lab1"].setText("%d Cams Instaladas" % (len(self.list))) self['key_red'] = Label(_('Cancel')) self['key_green'] = Label(_('OK')) self.onLayoutFinish.append(self.layoutFinished)
def __init__(self, session, showExtentionMenuOption): Screen.__init__(self, session) self.setup_title = _("Softcam setup") self.setTitle(self.setup_title) self["actions"] = ActionMap( ["OkCancelActions", "ColorActions", "CiSelectionActions"], { "cancel": self.cancel, "green": self.save, "red": self.cancel, "blue": self.ppanelShortcut, }, -1) self.list = [] ConfigListScreen.__init__(self, self.list, session=session) self.softcam = CamControl('softcam') self.cardserver = CamControl('cardserver') self.ecminfo = GetEcmInfo() (newEcmFound, ecmInfo) = self.ecminfo.getEcm() self["info"] = ScrollLabel("".join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.callback.append(self.setEcmInfo) self.EcmInfoPollTimer.start(1000) softcams = self.softcam.getList() cardservers = self.cardserver.getList() self.softcams = ConfigSelection(choices=softcams) self.softcams.value = self.softcam.current() self.list.append(getConfigListEntry(_("Select Softcam"), self.softcams)) if cardservers: self.cardservers = ConfigSelection(choices=cardservers) self.cardservers.value = self.cardserver.current() self.list.append( getConfigListEntry(_("Select Card Server"), self.cardservers)) self.list.append( getConfigListEntry(_("Restart softcam"), ConfigAction(self.restart, "s"))) if cardservers: self.list.append( getConfigListEntry(_("Restart cardserver"), ConfigAction(self.restart, "c"))) self.list.append( getConfigListEntry(_("Restart both"), ConfigAction(self.restart, "sc"))) if showExtentionMenuOption: self.list.append( getConfigListEntry(_("Show softcam setup in extensions menu"), config.misc.softcam_setup.extension_menu)) self["key_red"] = Label(_("Cancel")) self["key_green"] = Label(_("OK")) self["key_blue"] = Label(_("Info"))
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = { "ShowMe": self.SMART_LABEL, "ExpertInfo": self.SMART_INFO_H, "ExpertInfoVertical": self.SMART_INFO_V, "ServiceInfo": self.SERVICE_INFO, "CryptoInfo": self.CRYPTO_INFO }[type] try: self.poll_interval = config.plugins.ValiKSSetup.pollTime.value * 1000 except: self.poll_interval = 1000 self.poll_enabled = True self.idnames = (("0x100", "0x1FF", "Seca", "Seca", " "), ("0x500", "0x5FF", "Via", "Viaccess", " "), ("0x600", "0x6FF", "Irdeto", "Irdeto", " "), ("0x900", "0x9FF", "NDS", "Videoguard", " "), ("0xB00", "0xBFF", "Conax", "Conax", " "), ("0xD00", "0xDFF", "CryptoW", "Cryptoworks", " "), ("0x1700", "0x17FF", "Beta", "Betacrypt", " "), ("0x1800", "0x18FF", "Nagra", "Nagravision", " ")) self.ecmdata = GetEcmInfo()
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = { "ShowMe": self.SMART_LABEL, "ExpertInfo": self.SMART_INFO_H, "ExpertInfoVertical": self.SMART_INFO_V, "ServiceInfo": self.SERVICE_INFO, "CryptoInfo": self.CRYPTO_INFO, "FrequencyInfo": self.FREQUENCY_INFO }[type] self.poll_interval = 1000 self.poll_enabled = True self.idnames = ( ("0x100", "0x1FF", "Seca", "S"), ("0x500", "0x5FF", "Via", "V"), ("0x600", "0x6FF", "Irdeto", "I"), ("0x900", "0x9FF", "NDS", "Nd"), ("0xB00", "0xBFF", "Conax", "Co"), ("0xD00", "0xDFF", "CryptoW", "Cw"), ("0x1700", "0x17FF", "Beta", "B"), ("0x1800", "0x18FF", "Nagra", "N"), ("0x2600", "0x26FF", "BISS", "Bi")) self.ecmdata = GetEcmInfo()
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = { "ShowMe": self.SMART_LABEL, "ExpertInfo": self.SMART_INFO_H, "ExpertInfoVertical": self.SMART_INFO_V, "ServiceInfo": self.SERVICE_INFO, "CryptoInfo": self.CRYPTO_INFO, "FrequencyInfo": self.FREQUENCY_INFO }[type] self.poll_interval = 1000 self.poll_enabled = True self.idnames = (("0x100", "0x1FF", "Seca", "S"), ("0x500", "0x5FF", "Via", "V"), ("0x600", "0x6FF", "Irdeto", "I"), ("0x900", "0x9FF", "NDS", "Nd"), ("0xB00", "0xBFF", "Conax", "Co"), ("0xD00", "0xDFF", "CryptoW", "Cw"), ("0xE00", "0xEFF", "PowerVU", "P"), ("0x1000", "0x10FF", "Tandberg", "TB"), ("0x1700", "0x17FF", "Beta", "B"), ("0x1800", "0x18FF", "Nagra", "N"), ("0x2600", "0x2600", "Biss", "Bi"), ("0x2700", "0x2710", "Dre3", "D3"), ("0x4AE0", "0x4AE1", "Dre", "D"), ("0x4AEE", "0x4AEE", "BulCrypt", "B1"), ("0x5581", "0x5581", "BulCrypt", "B2"), ("0x5601", "0x5604", "Verimatrix", "Vm")) self.ecmdata = GetEcmInfo()
def __init__(self, session, args=0): assert not slManager.instance, "only one slManager instance is allowed!" slManager.instance = self self.skin = slManager.skin Screen.__init__(self, session) self.setTitle(_('Sat-Lodge Manager V. %s' % Version)) self.session = session self.index = 0 self.emulist = [] self.namelist = [] self.oldService = self.session.nav.getCurrentlyPlayingServiceReference( ) self["actions"] = ActionMap( ["OkCancelActions", "ColorActions"], { "ok": self.action, "cancel": self.close, "yellow": self.download, "green": self.action, "blue": self.slpanel, "red": self.stop, }, -1) self["key_green"] = Button(_("Start")) self["key_blue"] = Button(_("SatLodge Panel")) self['key_blue'].hide() if fileExists( '/usr/lib/enigma2/python/Plugins/SatLodge/slPanel/plugin.pyo'): self["key_blue"].show() self["key_yellow"] = Button(_("Download")) self["key_red"] = Button(_("Stop")) self['version'] = Label(_('V. %s' % Version)) self['maintener'] = Label(_('by ))^^((')) self['team'] = Label(_('..:: Sat-Lodge Manager ::..')) self['info'] = Label() self.currCam = self.readCurrent() self.softcamslist = [] self['desc'] = Label() self['ecminfo'] = Label(_('Ecm Info')) self["list"] = m2list([]) self['desc'].setText(_('Scanning and retrieval list softcam ...')) self.timer = eTimer() self.timer.start(100, 1) try: self.timer_conn = self.timer.timeout.connect(self.cgdesc) except: self.timer.callback.append(self.cgdesc) self.readScripts() self.ecminfo = GetEcmInfo() (newEcmFound, ecmInfo) = self.ecminfo.getEcm() self["info"] = ScrollLabel("".join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.start(100) try: self.EcmInfoPollTimer.callback.append(self.setEcmInfo) except: self.timer_conn = self.EcmInfoPollTimer.timeout.connect( self.setEcmInfo)
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.caid_data = (("0x100", "0x1ff", "Seca", "S", True), ("0x500", "0x5ff", "Via", "V", True), ("0x600", "0x6ff", "Irdeto", "I", True), ("0x900", "0x9ff", "NDS", "Nd", True), ("0xb00", "0xbff", "Conax", "Co", True), ("0xd00", "0xdff", "CryptoW", "Cw", True), ("0xe00", "0xeff", "PowerVU", "P", False), ("0x1700", "0x17ff", "Beta", "B", True), ("0x1800", "0x18ff", "Nagra", "N", True), ("0x2600", "0x2600", "Biss", "Bi", False), ("0x4ae0", "0x4ae1", "Dre", "D", False), ("0x4aee", "0x4aee", "BulCrypt", "B1", False), ("0x5581", "0x5581", "BulCrypt", "B2", False), ("0x1010", "0x1010", "Tandberg", "T", True)) self.ca_table = (("CryptoCaidSecaAvailable", "S", False), ("CryptoCaidViaAvailable", "V", False), ("CryptoCaidIrdetoAvailable", "I", False), ("CryptoCaidNDSAvailable", "Nd", False), ("CryptoCaidConaxAvailable", "Co", False), ("CryptoCaidCryptoWAvailable", "Cw", False), ("CryptoCaidPowerVUAvailable", "P", False), ("CryptoCaidBetaAvailable", "B", False), ("CryptoCaidNagraAvailable", "N", False), ("CryptoCaidBissAvailable", "Bi", False), ("CryptoCaidDreAvailable", "D", False), ("CryptoCaidBulCrypt1Available", "B1", False), ("CryptoCaidBulCrypt2Available", "B2", False), ("CryptoCaidTandbergAvailable", "T", False), ("CryptoCaidSecaSelected", "S", True), ("CryptoCaidViaSelected", "V", True), ("CryptoCaidIrdetoSelected", "I", True), ("CryptoCaidNDSSelected", "Nd", True), ("CryptoCaidConaxSelected", "Co", True), ("CryptoCaidCryptoWSelected", "Cw", True), ("CryptoCaidPowerVUSelected", "P", True), ("CryptoCaidBetaSelected", "B", True), ("CryptoCaidNagraSelected", "N", True), ("CryptoCaidBissSelected", "Bi", True), ("CryptoCaidDreSelected", "D", True), ("CryptoCaidBulCrypt1Selected", "B1", True), ("CryptoCaidBulCrypt2Selected", "B2", True), ("CryptoCaidTandbergSelected", "T", True)) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.active = False self.visible = config.usage.show_cryptoinfo.value self.textvalue = "" self.poll_interval = 1000 self.poll_enabled = True self.ecmdata = GetEcmInfo()
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.caid_data = ( ("0x1700", "0x17ff", "BetaCrypt", "B", True), ("0x600", "0x6ff", "Irdeto", "I", True), ("0x1800", "0x18ff", "Nagravision", "N", True), ("0x100", "0x1ff", "Seca Mediaguard", "S", True), ("0x1000", "0x10FF", "Tandberg", "T", True), ("0x500", "0x5ff", "Viaccess", "V", True), ("0x2600", "0x2600", "Biss", "BI", True), ("0x4aee", "0x4aee", "BulCrypt", "BU", True), ("0x5581", "0x5581", "BulCrypt", "BU", False), ("0xb00", "0xbff", "Conax", "CO", True), ("0xd00", "0xdff", "CryptoWorks", "CW", True), ("0x4ae0", "0x4ae1", "DRE-Crypt", "DC", True), ("0x900", "0x9ff", "NDS Videoguard", "ND", True), ("0xe00", "0xeff", "PowerVu", "PV", True), ) self.ca_table = ( ("CryptoCaidBetatAvailable", "B", False), ("CryptoCaidIrdetoAvailable" "I", False), ("CryptoCaidNagraAvailable", "N", False), ("CryptoCaidSecaAvailable", "S", False), ("CryptoCaidTandbergAvailable", "T", False), ("CryptoCaidViaAvailable", "V", False), ("CryptoCaidBissAvailable", "BI", False), ("CryptoCaidBulCrypt1Available", "BU", False), ("CryptoCaidBulCrypt2Available", "BU", False), ("CryptoCaidConaxAvailable", "CO", False), ("CryptoCaidCryptoWAvailable", "CW", False), ("CryptoCaidDreAvailable", "DC", False), ("CryptoCaidNDSAvailable", "ND", False), ("CryptoCaidPowerVuAvailable", "PV", False), ("CryptoCaidBetaSelected", "B", True), ("CryptoCaidIrdetoSelected", "I", True), ("CryptoCaidNagraSelected", "N", True), ("CryptoCaidSecaSelected", "S", True), ("CryptoCaidTandbergSelected", "T", True), ("CryptoCaidViaSelected", "V", True), ("CryptoCaidBissSelected", "BI", True), ("CryptoCaidBulCrypt1Selected", "BU", True), ("CryptoCaidBulCrypt2Selected", "BU", True), ("CryptoCaidConaxSelected", "CO", True), ("CryptoCaidCryptoWSelected", "CW", True), ("CryptoCaidDreSelected", "DC", True), ("CryptoCaidNDSSelected", "ND", True), ("CryptoCaidPowerVuSelected", "PV", True), ) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.caid_data = (('0x100', '0x1ff', 'Seca', 'S', True), ('0x500', '0x5ff', 'Via', 'V', True), ('0x600', '0x6ff', 'Irdeto', 'I', True), ('0x900', '0x9ff', 'NDS', 'Nd', True), ('0xb00', '0xbff', 'Conax', 'Co', True), ('0xd00', '0xdff', 'CryptoW', 'Cw', True), ('0xe00', '0xeff', 'PowerVU', 'P', False), ('0x1700', '0x17ff', 'Beta', 'B', True), ('0x1800', '0x18ff', 'Nagra', 'N', True), ('0x2600', '0x2600', 'Biss', 'Bi', False), ('0x4ae0', '0x4ae1', 'Dre', 'D', False), ('0x4aee', '0x4aee', 'BulCrypt', 'B1', False), ('0x5581', '0x5581', 'BulCrypt', 'B2', False)) self.ca_table = (('CryptoCaidSecaAvailable', 'S', False), ('CryptoCaidViaAvailable', 'V', False), ('CryptoCaidIrdetoAvailable', 'I', False), ('CryptoCaidNDSAvailable', 'Nd', False), ('CryptoCaidConaxAvailable', 'Co', False), ('CryptoCaidCryptoWAvailable', 'Cw', False), ('CryptoCaidPowerVUAvailable', 'P', False), ('CryptoCaidBetaAvailable', 'B', False), ('CryptoCaidNagraAvailable', 'N', False), ('CryptoCaidBissAvailable', 'Bi', False), ('CryptoCaidDreAvailable', 'D', False), ('CryptoCaidBulCrypt1Available', 'B1', False), ('CryptoCaidBulCrypt2Available', 'B2', False), ('CryptoCaidSecaSelected', 'S', True), ('CryptoCaidViaSelected', 'V', True), ('CryptoCaidIrdetoSelected', 'I', True), ('CryptoCaidNDSSelected', 'Nd', True), ('CryptoCaidConaxSelected', 'Co', True), ('CryptoCaidCryptoWSelected', 'Cw', True), ('CryptoCaidPowerVUSelected', 'P', True), ('CryptoCaidBetaSelected', 'B', True), ('CryptoCaidNagraSelected', 'N', True), ('CryptoCaidBissSelected', 'Bi', True), ('CryptoCaidDreSelected', 'D', True), ('CryptoCaidBulCrypt1Selected', 'B1', True), ('CryptoCaidBulCrypt2Selected', 'B2', True)) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None return
def __init__(self, session): self.softcam = CamControl("softcam") self.cardserver = CamControl("cardserver") self.ecminfo = GetEcmInfo() restartOptions = [("", _("Don't restart")), ("s", _("Restart softcam"))] defaultrestart = "" softcams = self.softcam.getList() defaultsoftcam = self.softcam.current() if len(softcams) > 1: defaultrestart = "s" else: softcams = [("", _("None"))] defaultsoftcam = "" config.misc.softcams = ConfigSelection(default=defaultsoftcam, choices=softcams) cardservers = self.cardserver.getList() defaultcardserver = self.cardserver.current() if len(cardservers) > 1: restartOptions.extend([("c", _("Restart cardserver")), ("sc", _("Restart both"))]) defaultrestart += "c" else: cardservers = [("", _("None"))] defaultcardserver = "" config.misc.cardservers = ConfigSelection(default=defaultcardserver, choices=cardservers) config.misc.restarts = ConfigSelection(default=defaultrestart, choices=restartOptions) Setup.__init__(self, session=session, setup="Softcam") self["key_yellow"] = StaticText() self["key_blue"] = StaticText() self["restartActions"] = HelpableActionMap( self, ["ColorActions"], { "yellow": (self.restart, _("Immediately restart selected devices.")) }, prio=0, description=_("Softcam Actions")) self["restartActions"].setEnabled(False) self["infoActions"] = HelpableActionMap( self, ["ColorActions"], {"blue": (self.softcamInfo, _("Display oscam information."))}, prio=0, description=_("Softcam Actions")) self["infoActions"].setEnabled(False) (newEcmFound, ecmInfo) = self.ecminfo.getEcm() self["info"] = ScrollLabel("".join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.callback.append(self.setEcmInfo) self.EcmInfoPollTimer.start(1000) self.onShown.append(self.updateButtons)
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.ca_table = (('CryptoCaidSeca MediaguardAvailable', 'S', False), ('CryptoCaidViaccessAvailable', 'V', False), ('CryptoCaidIrdetoAvailable', 'I', False), ('CryptoCaidNDS VideoguardAvailable', 'ND', False), ('CryptoCaidConaxAvailable', 'CO', False), ('CryptoCaidCryptoWorksAvailable', 'CW', False), ('CryptoCaidPowerVUAvailable', 'PV', False), ('CryptoCaidBetaCryptAvailable', 'BC', False), ('CryptoCaidNagravisionAvailable', 'N', False), ('CryptoCaidBissAvailable', 'B', False), ('CryptoCaidDreCryptAvailable', 'DC', False), ('CryptoCaidBulCrypt1Available', 'B1', False), ('CryptoCaidBulCrypt2Available', 'B2', False), ('CryptoCaidDG-CryptAvailable', 'DG', False), ('CryptoCaidCryptoGuardAvailable', 'CG', False), ('CryptoCaidVerimatrixAvailable', 'VM', False), ('CryptoCaidTandbergAvailable', 'TB', False), ('CryptoCaidSeca MediaguardSelected', 'S', True), ('CryptoCaidViaccessSelected', 'V', True), ('CryptoCaidIrdetoSelected', 'I', True), ('CryptoCaidNDS VideoguardSelected', 'ND', True), ('CryptoCaidConaxSelected', 'CO', True), ('CryptoCaidCryptoWorksSelected', 'CW', True), ('CryptoCaidPowerVUSelected', 'PV', True), ('CryptoCaidBetaCryptSelected', 'BC', True), ('CryptoCaidNagravisionSelected', 'N', True), ('CryptoCaidBissSelected', 'B', True), ('CryptoCaidDreCryptSelected', 'DC', True), ('CryptoCaidBulCrypt1Selected', 'B1', True), ('CryptoCaidBulCrypt2Selected', 'B2', True), ('CryptoCaidDG-CryptSelected', 'DG', True), ('CryptoCaidCryptoGuardSelected', 'CG', True), ('CryptoCaidVerimatrixSelected', 'VM', True), ('CryptoCaidTandbergSelected', 'TB', True)) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None return
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.ca_table = ( ("CryptoCaidBetatAvailable", "B", False), ("CryptoCaidIrdetoAvailable" "I", False), ("CryptoCaidNagraAvailable", "N", False), ("CryptoCaidSecaAvailable", "S", False), ("CryptoCaidTandbergAvailable", "T", False), ("CryptoCaidViaAvailable", "V", False), ("CryptoCaidBissAvailable", "BI", False), ("CryptoCaidBulCrypt1Available", "BU", False), ("CryptoCaidBulCrypt2Available", "BU", False), ("CryptoCaidConaxAvailable", "CO", False), ("CryptoCaidCryptoWAvailable", "CW", False), ("CryptoCaidDre3Available", "DC", False), ("CryptoCaidDreAvailable", "DC", False), ("CryptoCaidNDSAvailable", "ND", False), ("CryptoCaidPowerVuAvailable", "PV", False), ("CryptoCaidDvnAvailable", "TB", False), ("CryptoCaidSmsxAvailable", "SM", False), ("CryptoCaidTongfangAvailable", "TF", False), ("CryptoCaidVerimatrixAvailable", "VM", False), ("CryptoCaidBetaSelected", "B", True), ("CryptoCaidIrdetoSelected", "I", True), ("CryptoCaidNagraSelected", "N", True), ("CryptoCaidSecaSelected", "S", True), ("CryptoCaidTandbergSelected", "T", True), ("CryptoCaidViaSelected", "V", True), ("CryptoCaidBissSelected", "BI", True), ("CryptoCaidBulCrypt1Selected", "BU", True), ("CryptoCaidBulCrypt2Selected", "BU", True), ("CryptoCaidConaxSelected", "CO", True), ("CryptoCaidCryptoWSelected", "CW", True), ("CryptoCaidDre3Selected", "DC", True), ("CryptoCaidDreSelected", "DC", True), ("CryptoCaidNDSSelected", "ND", True), ("CryptoCaidPowerVuSelected", "PV", True), ("CryptoCaidDvnSelected", "TB", True), ("CryptoCaidSmsxSelected", "SM", True), ("CryptoCaidTongfangSelected", "TF", True), ("CryptoCaidVerimatrixSelected", "VM", True), ) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None
def ShowECMInformation(self): if self.info: from Components.Converter.PliExtraInfo import caid_data self['Title'].text = _('Service info - ECM Info') tlist = [] for caid in sorted(set( self.info.getInfoObject(iServiceInformation.sCAIDPIDs)), key=lambda x: (x[0], x[1])): CaIdDescription = _('Undefined') extra_info = '' provid = '' for caid_entry in caid_data: if int(caid_entry[0], 16) <= caid[0] <= int( caid_entry[1], 16): CaIdDescription = caid_entry[2] break if caid[2]: if CaIdDescription == 'Seca': provid = ','.join([ caid[2][i:i + 4] for i in range(0, len(caid[2]), 30) ]) if CaIdDescription == 'Nagra': provid = caid[2][-4:] if CaIdDescription == 'Via': provid = caid[2][-6:] if provid: extra_info = 'provid=%s' % provid else: extra_info = 'extra data=%s' % caid[2] from Tools.GetEcmInfo import GetEcmInfo ecmdata = GetEcmInfo().getEcmData() if caid[0] == int(ecmdata[1], 16) and (caid[1] == int( ecmdata[3], 16) or str(int(ecmdata[2], 16)) in provid): color = '\\c00??;?00' if 1 else '' tlist.append( ServiceInfoListEntry('%sECMPid %04X (%d) %04X-%s %s' % (color, caid[1], caid[1], caid[0], CaIdDescription, extra_info))) if not tlist: tlist.append( ServiceInfoListEntry( _('No ECMPids available (FTA Service)'))) self['infolist'].l.setList(tlist)
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.ca_table = (("CryptoCaidSecaAvailable", "S", False), ("CryptoCaidViaAvailable", "V", False), ("CryptoCaidIrdetoAvailable", "I", False), ("CryptoCaidNDSAvailable", "Nd", False), ("CryptoCaidConaxAvailable", "Co", False), ("CryptoCaidCryptoWAvailable", "Cw", False), ("CryptoCaidPowerVUAvailable", "P", False), ("CryptoCaidBetaAvailable", "B", False), ("CryptoCaidNagraAvailable", "N", False), ("CryptoCaidBissAvailable", "Bi", False), ("CryptoCaidDre3Available", "D3", False), ("CryptoCaidDreAvailable", "D", False), ("CryptoCaidBulCrypt1Available", "B1", False), ("CryptoCaidBulCrypt2Available", "B2", False), ("CryptoCaidTandbergAvailable", "T", False), ("CryptoCaidSecaSelected", "S", True), ("CryptoCaidViaSelected", "V", True), ("CryptoCaidIrdetoSelected", "I", True), ("CryptoCaidNDSSelected", "Nd", True), ("CryptoCaidConaxSelected", "Co", True), ("CryptoCaidCryptoWSelected", "Cw", True), ("CryptoCaidPowerVUSelected", "P", True), ("CryptoCaidBetaSelected", "B", True), ("CryptoCaidNagraSelected", "N", True), ("CryptoCaidBissSelected", "Bi", True), ("CryptoCaidDre3Selected", "D3", True), ("CryptoCaidDreSelected", "D", True), ("CryptoCaidBulCrypt1Selected", "B1", True), ("CryptoCaidBulCrypt2Selected", "B2", True), ("CryptoCaidTandbergSelected", "T", True)) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.caid_data = (("0x100", "0x1ff", "Seca", "S"), ("0x500", "0x5ff", "Via", "V"), ("0x600", "0x6ff", "Irdeto", "I"), ("0x900", "0x9ff", "NDS", "Nd"), ("0xb00", "0xbff", "Conax", "Co"), ("0xd00", "0xdff", "CryptoW", "Cw"), ("0xe00", "0xeff", "PowerVU", "P"), ("0x1700", "0x17ff", "Beta", "B"), ("0x1800", "0x18ff", "Nagra", "N"), ("0x2600", "0x2600", "Biss", "Bi"), ("0x4ae0", "0x4ae1", "Dre", "D")) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.ca_table = (('CryptoCaidSecaAvailable', 'S', False), ('CryptoCaidViaAvailable', 'V', False), ('CryptoCaidIrdetoAvailable', 'I', False), ('CryptoCaidNDSAvailable', 'Nd', False), ('CryptoCaidConaxAvailable', 'Co', False), ('CryptoCaidCryptoWAvailable', 'Cw', False), ('CryptoCaidPowerVUAvailable', 'P', False), ('CryptoCaidBetaAvailable', 'B', False), ('CryptoCaidNagraAvailable', 'N', False), ('CryptoCaidBissAvailable', 'Bi', False), ('CryptoCaidDreAvailable', 'D', False), ('CryptoCaidBulCrypt1Available', 'B1', False), ('CryptoCaidBulCrypt2Available', 'B2', False), ('CryptoCaidTandbergAvailable', 'T', False), ('CryptoCaidSecaSelected', 'S', True), ('CryptoCaidViaSelected', 'V', True), ('CryptoCaidIrdetoSelected', 'I', True), ('CryptoCaidNDSSelected', 'Nd', True), ('CryptoCaidConaxSelected', 'Co', True), ('CryptoCaidCryptoWSelected', 'Cw', True), ('CryptoCaidPowerVUSelected', 'P', True), ('CryptoCaidBetaSelected', 'B', True), ('CryptoCaidNagraSelected', 'N', True), ('CryptoCaidBissSelected', 'Bi', True), ('CryptoCaidDreSelected', 'D', True), ('CryptoCaidBulCrypt1Selected', 'B1', True), ('CryptoCaidBulCrypt2Selected', 'B2', True), ('CryptoCaidTandbergSelected', 'T', True)) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None return
def ShowECMInformation(self): from Components.Converter.PliExtraInfo import caid_data self.setTitle(_("Service Info: ECM Info")) tlist = [] provid = "" for caid in sorted(set( self.info.getInfoObject(iServiceInformation.sCAIDPIDs)), key=lambda x: (x[0], x[1])): CaIdDescription = _("Undefined") extra_info = "" for caid_entry in caid_data: if int(caid_entry[0], 16) <= caid[0] <= int(caid_entry[1], 16): CaIdDescription = caid_entry[2] break if caid[2]: if CaIdDescription == "Seca": provid = caid[2][:4] if CaIdDescription == "Nagra": provid = caid[2][-4:] if CaIdDescription == "Via": provid = caid[2][-6:] if provid: extra_info = "provid=%s" % provid else: extra_info = "extra data=%s" % caid[2] from Tools.GetEcmInfo import GetEcmInfo ecmdata = GetEcmInfo().getEcmData() color = Hex2strColor( parameters.get( "ServiceInfoEcmColor", 0x00ffbf00)) if caid[1] == int( ecmdata[3], 16) and caid[0] == int(ecmdata[1], 16) else "" tlist.append( ServiceInfoListEntry("%sECMPid %04X (%d) %04X-%s %s" % (color, caid[1], caid[1], caid[0], CaIdDescription, extra_info))) if not tlist: tlist.append(ServiceInfoListEntry(_("No ECMPids available"))) tlist.append(ServiceInfoListEntry(_("(FTA Service)"))) self["infolist"].l.setList(tlist)
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = { 'ShowMe': self.SMART_LABEL, 'ExpertInfo': self.SMART_INFO_H, 'ExpertInfoVertical': self.SMART_INFO_V, 'ServiceInfo': self.SERVICE_INFO, 'CryptoInfo': self.CRYPTO_INFO, 'FrequencyInfo': self.FREQUENCY_INFO }[type] self.poll_interval = 1000 self.poll_enabled = True self.idnames = (('0x100', '0x1FF', 'Seca', 'S'), ('0x500', '0x5FF', 'Via', 'V'), ('0x600', '0x6FF', 'Irdeto', 'I'), ('0x900', '0x9FF', 'NDS', 'Nd'), ('0xB00', '0xBFF', 'Conax', 'Co'), ('0xD00', '0xDFF', 'CryptoW', 'Cw'), ('0x1700', '0x17FF', 'Beta', 'B'), ('0x1800', '0x18FF', 'Nagra', 'N')) self.ecmdata = GetEcmInfo()
def __init__(self, session): Screen.__init__(self, session) self.setup_title = _("Softcam setup") self.setTitle(self.setup_title) self["actions"] = ActionMap( ["OkCancelActions", "ColorActions", "CiSelectionActions"], { "red": self.cancel, "green": self.save, "blue": self.cancel, "cancel": self.cancel, }, -1) self.list = [] ConfigListScreen.__init__(self, self.list, session=session, on_change=self.changedEntry) self.softcam = CamControl('softcam') self.cardserver = CamControl('cardserver') self.softcams_text = "" self.ecminfo = GetEcmInfo() (newEcmFound, ecmInfo) = self.ecminfo.getEcm() self["info"] = ScrollLabel("".join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.callback.append(self.setEcmInfo) self.EcmInfoPollTimer.start(1000) softcams = self.softcam.getList() cardservers = self.cardserver.getList() if softcams: self.softcams = ConfigSelection(choices=softcams) self.softcams.value = self.softcam.current() self.softcams_text = _("Select Softcam") self.list.append( getConfigListEntry(self.softcams_text, self.softcams)) if cardservers: self.cardservers = ConfigSelection(choices=cardservers) self.cardservers.value = self.cardserver.current() self.list.append( getConfigListEntry(_("Select Card Server"), self.cardservers)) if cardservers and softcams: self.list.append( getConfigListEntry(_("Restart both"), ConfigAction(self.restart, "sc"))) elif softcams: self.list.append( getConfigListEntry(_("Restart softcam"), ConfigAction(self.restart, "s"))) else: self.list.append( getConfigListEntry(_("Restart cardserver"), ConfigAction(self.restart, "c"))) self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("OK")) self["key_blue"] = StaticText() self.onShown.append(self.blueButton)
def __init__(self, session): Screen.__init__(self, session) self.setup_title = _("Softcam setup") self.setTitle(self.setup_title) self["actions"] = ActionMap( ["OkCancelActions", "ColorActions", "CiSelectionActions"], { "cancel": self.cancel, "green": self.save, "red": self.cancel, "blue": self.ppanelShortcut, }, -1) self.list = [] ConfigListScreen.__init__(self, self.list, session=session, on_change=self.changedEntry) self.softcam = CamControl('softcam') self.cardserver = CamControl('cardserver') self.ecminfo = GetEcmInfo() (newEcmFound, ecmInfo) = self.ecminfo.getEcm() self["info"] = ScrollLabel("".join(ecmInfo)) self.EcmInfoPollTimer = eTimer() self.EcmInfoPollTimer.callback.append(self.setEcmInfo) self.EcmInfoPollTimer.start(1000) softcams = self.softcam.getList() cardservers = self.cardserver.getList() self.softcams = ConfigSelection(choices=softcams) self.softcams.value = self.softcam.current() self.softcams_text = _("Select Softcam") self.list.append(getConfigListEntry(self.softcams_text, self.softcams)) if cardservers: self.cardservers = ConfigSelection(choices=cardservers) self.cardservers.value = self.cardserver.current() self.list.append( getConfigListEntry(_("Select Card Server"), self.cardservers)) self.list.append( getConfigListEntry(_("Restart softcam"), ConfigAction(self.restart, "s"))) if cardservers: self.list.append( getConfigListEntry(_("Restart cardserver"), ConfigAction(self.restart, "c"))) self.list.append( getConfigListEntry(_("Restart both"), ConfigAction(self.restart, "sc"))) softcams = listdir('/usr/bin/') for softcam in softcams: if softcam.startswith('CCcam') or softcam.startswith('cccam'): config.plugins.softcam.cccaminfo.value = True elif softcam.startswith('OScam') or softcam.startswith('oscam'): config.plugins.softcam.oscaminfo.value = True elif softcam.startswith('Ncam') or softcam.startswith('ncam'): config.plugins.softcam.ncaminfo.value = True if config.plugins.softcam.cccaminfo.value: self.list.append( getConfigListEntry(_("Show CCcamInfo in extensions menu?"), config.cccaminfo.showInExtensions, None, None)) if config.plugins.softcam.oscaminfo.value: self.list.append( getConfigListEntry(_("Show OScamInfo in extensions menu?"), config.oscaminfo.showInExtensions, None, None)) if config.plugins.softcam.ncaminfo.value: self.list.append( getConfigListEntry(_("Show NcamInfo in extensions menu?"), config.ncaminfo.showInExtensions, None, None)) self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("OK")) self["key_blue"] = StaticText() self.onShown.append(self.blueButton)
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.info_fields = { # Field combinations accessible from skin "All": ( ( # config.usage.show_cryptoinfo.value <= 0 "ProviderName", "TransponderInfo", "TransponderName", "NewLine", "CryptoBar", "CryptoCurrentSource", "NewLine", "CryptoSpecial", "VideoCodec", "ResolutionString", ), ( # config.usage.show_cryptoinfo.value > 0 "ProviderName", "TransponderInfo", "TransponderName", "NewLine", "CryptoBar", "CryptoSpecial", "NewLine", "PIDInfo", "VideoCodec", "ResolutionString", )), "CryptoInfo": ( ( # config.usage.show_cryptoinfo.value <= 0 "CryptoBar", "CryptoCurrentSource", "CryptoSpecial", ), ( # config.usage.show_cryptoinfo.value > 0 "CryptoBar", "CryptoSpecial", )), "ServiceInfo": ( "ProviderName", "TunerSystem", "TransponderFrequency", "TransponderPolarization", "TransponderSymbolRate", "TransponderFEC", "TransponderModulation", "OrbitalPosition", "TransponderName", "VideoCodec", "ResolutionString", ), "TransponderInfo": ( ( # not feraw "StreamURLInfo", ), ( # feraw and "DVB-T" not in feraw.get("tuner_type", "") "TunerSystem", "TransponderFrequencyMHz", "TransponderPolarization", "TransponderSymbolRate", "TransponderFEC", "TransponderModulation", "OrbitalPosition", "TransponderInfoMisPls", ), ( # feraw and "DVB-T" in feraw.get("tuner_type", "") "TunerSystem", "TerrestrialChannelNumber", "TransponderFrequencyMHz", "TransponderPolarization", "TransponderSymbolRate", "TransponderFEC", "TransponderModulation", "OrbitalPosition", )), "TransponderInfo2line": ( "ProviderName", "TunerSystem", "TransponderName", "NewLine", "TransponderFrequencyMHz", "TransponderPolarization", "TransponderSymbolRate", "TransponderModulationFEC", ), "User": (), } self.ca_table = ( ("CryptoCaidBetatAvailable", "B", False), ("CryptoCaidIrdetoAvailable", "I", False), ("CryptoCaidNagraAvailable", "N", False), ("CryptoCaidSecaAvailable", "S", False), ("CryptoCaidTandbergAvailable", "T", False), ("CryptoCaidViaAvailable", "V", False), ("CryptoCaidBissAvailable", "BI", False), ("CryptoCaidBulCrypt1Available", "BU", False), ("CryptoCaidBulCrypt2Available", "BU", False), ("CryptoCaidConaxAvailable", "CO", False), ("CryptoCaidCryptoWAvailable", "CW", False), ("CryptoCaidDre3Available", "DC", False), ("CryptoCaidDreAvailable", "DC", False), ("CryptoCaidNDSAvailable", "ND", False), ("CryptoCaidPowerVuAvailable", "PV", False), ("CryptoCaidVerimatrixAvailable", "VM", False), ("CryptoCaidBetaSelected", "B", True), ("CryptoCaidIrdetoSelected", "I", True), ("CryptoCaidNagraSelected", "N", True), ("CryptoCaidSecaSelected", "S", True), ("CryptoCaidTandbergSelected", "T", True), ("CryptoCaidViaSelected", "V", True), ("CryptoCaidBissSelected", "BI", True), ("CryptoCaidBulCrypt1Selected", "BU", True), ("CryptoCaidBulCrypt2Selected", "BU", True), ("CryptoCaidConaxSelected", "CO", True), ("CryptoCaidCryptoWSelected", "CW", True), ("CryptoCaidDre3Selected", "DC", True), ("CryptoCaidDreSelected", "DC", True), ("CryptoCaidNDSSelected", "ND", True), ("CryptoCaidPowerVuSelected", "PV", True), ("CryptoCaidVerimatrixSelected", "VM", True), ) self.type = self.type.split(',') if self.type[0] == "User": self.info_fields[self.type[0]] = tuple(self.type[1:]) self.type = self.type[0] self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None self.recursionCheck = set() self.cryptocolors = parameters.get( "PliExtraInfoCryptoColors", (0x004C7D3F, 0x009F9F9F, 0x00EEEE00, 0x00FFFFFF))
def __init__(self, type): Converter.__init__(self, type) Poll.__init__(self) self.type = type self.poll_interval = 1000 self.poll_enabled = True self.caid_data = (("0x100", "0x1ff", "Seca", "S", False), ("0x500", "0x5ff", "Viaccess", "V", False), ("0x600", "0x6ff", "Irdeto", "I", False), ("0x900", "0x9ff", "NDS-Videoguard", "Nd", False), ("0xb00", "0xbff", "Conax", "Co", False), ("0xd00", "0xdff", "CryptoW", "Cw", False), ("0xe00", "0xeff", "PowerVu", "P", False), ("0x0C00", "0x0C00", "NTL (RAS)", "Ras", False), ("0x1010", "0x1010", "Tandberg TV", "Tb", False), ("0x1700", "0x17ff", "Beta", "B", False), ("0x1800", "0x18ff", "Nagravision", "N", False), ("0x2600", "0x2600", "BISS", "Bi", False), ("0x2888", "0x2888", "Unknown", "Unk", False), ("0x4700", "0x47FF", "General Instrument (Motorola)", "GI", False), ("0x4a00", "0x4a02", "Tongfang", "Tf", False), ("0x4a67", "0x4a67", "@Sky", "Sk", False), ("0x4ac1", "0x4acf", "Latens Systems Ltd", "LtS", False), ("0x4ad0", "0x4ad1", "XCrypt Inc.", "Xc", False), ("0x4ad2", "0x4ad3", "Beijing DVT", "Bd", False), ("0x4ae0", "0x4ae1", "DRE-Crypt", "D", False), ("0x4aea", "0x4aea", "CryptoGuard AB", "CG", False), ("0x4aee", "0x4aee", "BulCrypt", "B1", False), ("0x4af0", "0x4af0", "Beijing ABVT", "BABVT", False), ("0x4af1", "0x4af1", "China DTV 1", "CDTV", False), ("0x4af1", "0x4af2", "China DTV 2", "CDTV", False), ("0x4af4", "0x4af4", "Marlin", "Md", False), ("0x5160", "0x5160", "Unknown", "Unk1", False), ("0x5581", "0x5581", "BulCrypt", "B2", False), ("0x5604", "0x5604", "Verimatrix", "Vx", False), ("0x7fff", "0x7fff", "Unknown", "Unk2", False), ("0xfffe", "0xfffe", "Free to Air", "FTA", False)) self.ca_table = ( ("CryptoCaidSecaAvailable", "S", False), ("CryptoCaidViaccessAvailable", "V", False), ("CryptoCaidIrdetoAvailable", "I", False), ("CryptoCaidNDSAvailable", "Nd", False), ("CryptoCaidConaxAvailable", "Co", False), ("CryptoCaidCryptoWAvailable", "Cw", False), ("CryptoCaidPowerVuAvailable", "P", False), ("CryptoCaidBetaAvailable", "B", False), ("CryptoCaidNagravisionAvailable", "N", False), ("CryptoCaidBISSAvailable", "Bi", False), ("CryptoCaidDreAvailable", "D", False), ("CryptoCaidCryptoGuard ABAvailable", "CG", False), ("CryptoCaidBulCrypt1Available", "B1", False), ("CryptoCaidBulCrypt2Available", "B2", False), ("CryptoCaid@SkyAvailable", "Sk", False), ("CryptoCaidLatens Systems LtdAvailable", "LtS", False), ("CryptoCaidXCrypt Inc.Available", "Xc", False), ("CryptoCaidBeijing DVTAvailable", "Bd", False), ("CryptoCaidNTL (RAS)Available", "Ras", False), ("CryptoCaidUnknownAvailabable", "Unk", False), ("CryptoCaidUnknownAvailabable", "Unk1", False), ("CryptoCaidUnknownAvailabable", "Unk2", False), ("CryptoCaidFree to AirAvailable", "FTA", False), ("CryptoCaidTongfangAvailable", "Tf", False), ("CryptoCaidMarlinAvailable", "Md", False), ("CryptoCaidVerimatrixAvailable", "Vx", False), ("CryptoCaidBeijing ABVTAvailable", "BABVT", False), ("CryptoCaidChina DTV 1Available", "CDTV", False), ("CryptoCaidChina DTV 2Available", "CDTV", False), ("CryptoCaidGeneral Instrument (Motorola)Available", "GI", False), ("CryptoCaidTandberg TVAvailable", "Tb", False), ("CryptoCaidSecaSelected", "S", True), ("CryptoCaidViaccessSelected", "V", True), ("CryptoCaidIrdetoSelected", "I", True), ("CryptoCaidNDS-VideoguardSelected", "Nd", True), ("CryptoCaidConaxSelected", "Co", True), ("CryptoCaidCryptoWSelected", "Cw", True), ("CryptoCaidPowerVuSelected", "P", True), ("CryptoCaidBetaSelected", "B", True), ("CryptoCaidNagravisionSelected", "N", True), ("CryptoCaidBISSSelected", "Bi", True), ("CryptoCaidDRE-CryptSelected", "D", True), ("CryptoCaidCryptoGuard ABSelected", "CG", True), ("CryptoCaidBulCrypt1Selected", "B1", True), ("CryptoCaidBulCrypt2Selected", "B2", True), ("CryptoCaid@SkySelected", "Sk", True), ("CryptoCaidLatens Systems LtdSelected", "LtS", True), ("CryptoCaidXCrypt Inc.Selected", "Xc", True), ("CryptoCaidBeijing DVTSelected", "Bd", True), ("CryptoCaidNTL (RAS)Selected", "Ras", True), ("CryptoCaidUnknownSelected", "Unk", True), ("CryptoCaidUnknownSelected", "Unk1", True), ("CryptoCaidUnknownSelected", "Unk2", True), ("CryptoCaidFree to AirSelected", "FTA", True), ("CryptoCaidTongfangSelected", "Tf", True), ("CryptoCaidMarlinSelected", "Md", True), ("CryptoCaidVerimatrixSelected", "Vx", True), ("CryptoCaidBeijing ABVTSelected", "BABVT", True), ("CryptoCaidChina DTV 1Selected", "CDTV", True), ("CryptoCaidChina DTV 2Selected", "CDTV", True), ("CryptoCaidGeneral Instrument (Motorola)Selected", "GI", True), ("CryptoCaidTandberg TVSelected", "Tb", True), ) self.ecmdata = GetEcmInfo() self.feraw = self.fedata = self.updateFEdata = None