def deleteConfirmed(self, confirmed): if confirmed is None: confirmed = (None, "no") if confirmed[1] == "yes" or confirmed[1] == "yestoall": eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: # why we need this cast? sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) if confirmed[1] == "yes" or confirmed[1] == "no": # TRANSLATORS: The satellite with name '%s' is no longer used after a configuration change. The user is asked whether or not the satellite should be deleted. self.session.openWithCallback(self.deleteConfirmed, ChoiceBox, _("%s is no longer used. Should it be deleted?") % sat_name, [(_("Yes"), "yes"), (_("No"), "no"), (_("Yes to all"), "yestoall"), (_("No to all"), "notoall")], None, 1) if confirmed[1] == "yestoall" or confirmed[1] == "notoall": self.deleteConfirmed(confirmed) break else: self.restartPrevService()
def deleteConfirmed(self, confirmed): if confirmed is None: confirmed = (None, 'no') if confirmed[1] == 'yes' or confirmed[1] == 'yestoall': eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: orbpos = 3600 - orbpos h = _('W') else: h = _('E') sat_name = ('%d.%d' + h) % (orbpos / 10, orbpos % 10) if confirmed[1] == 'yes' or confirmed[1] == 'no': self.session.openWithCallback(self.deleteConfirmed, ChoiceBox, _('%s is no longer used. Should it be deleted?') % sat_name, [(_('Yes'), 'yes'), (_('No'), 'no'), (_('Yes to all'), 'yestoall'), (_('No to all'), 'notoall')], None, 1) if confirmed[1] == 'yestoall' or confirmed[1] == 'notoall': self.deleteConfirmed(confirmed) break else: self.restoreService(_('Zap back to service before tuner setup?')) return
def getSatelliteName(self, ref): name = 'N/A' if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: #Cable name = _("Cable") elif orbpos == 0xEEEE: #Terrestrial name = _("Terrestrial") else: #Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager name = str(nimmanager.getSatDescription(orbpos)) except: refString = ref.toString().lower() if "%3a//" in refString: name = _("Stream") elif refString.startswith("1:134:"): name = _("Altern") else: name = orbpos > 1800 and "%d.%d°W" % ( (3600 - orbpos) / 10, (3600 - orbpos) % 10) or "%d.%d°E" % (orbpos / 10, orbpos % 10) return name
def deleteConfirmed(self, confirmed): if confirmed[1] == "yes" or confirmed[1] == "yestoall": eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: # why we need this cast? sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) if confirmed[1] == "yes" or confirmed[1] == "no": self.session.openWithCallback( self.deleteConfirmed, ChoiceBox, _("Delete no more configured satellite\n%s?") % (sat_name), [(_("Yes"), "yes"), (_("No"), "no"), (_("Yes to all"), "yestoall"), (_("No to all"), "notoall")]) if confirmed[1] == "yestoall" or confirmed[1] == "notoall": self.deleteConfirmed(confirmed) break else: self.restoreService(_("Zap back to service before tuner setup?"))
def deleteConfirmed(self, confirmed): if confirmed[1] == "yes" or confirmed[1] == "yestoall": eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: # why we need this cast? sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) if confirmed[1] == "yes" or confirmed[1] == "no": self.session.openWithCallback(self.deleteConfirmed, ChoiceBox, _("Delete no more configured satellite\n%s?") %(sat_name), [(_("Yes"), "yes"), (_("No"), "no"), (_("Yes to all"), "yestoall"), (_("No to all"), "notoall")], allow_cancel = False) if confirmed[1] == "yestoall" or confirmed[1] == "notoall": self.deleteConfirmed(confirmed) break else: self.restoreService(_("Zap back to service before tuner setup?"))
def getSatelliteName(self, ref): if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 65535: return _('Cable') if orbpos == 61166: return _('Terrestrial') orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager return str(nimmanager.getSatDescription(orbpos)) except: dir = ref.flags & (eServiceReference.isDirectory | eServiceReference.isMarker) if not dir: refString = ref.toString().lower() if refString.startswith('-1'): return '' elif refString.startswith('1:134:'): return _('Alternative') elif refString.startswith('4097:'): return _('Internet') else: return orbpos > 1800 and '%d.%d\xc2\xb0W' % ((3600 - orbpos) / 10, (3600 - orbpos) % 10) or '%d.%d\xc2\xb0E' % (orbpos / 10, orbpos % 10) return ''
def getSatelliteName(self, ref): name = 'N/A' if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 65535: name = _('Cable') elif orbpos == 61166: name = _('Terrestrial') else: orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager name = str(nimmanager.getSatDescription(orbpos)) except: refString = ref.toString().lower() if '%3a//' in refString: name = _('Stream') elif refString.startswith('1:134:'): name = _('Altern') else: name = orbpos > 1800 and '%d.%d\xc2\xb0W' % ((3600 - orbpos) / 10, (3600 - orbpos) % 10) or '%d.%d\xc2\xb0E' % (orbpos / 10, orbpos % 10) return name
def deleteConfirmed(self, confirmed): if confirmed: eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: # why we need this cast? sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) self.session.openWithCallback( self.deleteConfirmed, MessageBox, _("Delete no more configured satellite\n%s?") % (sat_name)) break if not self.satpos_to_remove: self.close()
def getSatelliteName(self, ref): name = "N/A" if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: # Cable name = _("Cable") elif orbpos == 0xEEEE: # Terrestrial name = _("Terrestrial") elif orbpos == 0: # Terrestrial name = _("Iptv(0.0)") else: # Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager name = str(nimmanager.getSatDescription(orbpos)) except: name = ( orbpos > 1800 and "%d.%d°W" % ((3600 - orbpos) / 10, (3600 - orbpos) % 10) or "%d.%d°E" % (orbpos / 10, orbpos % 10) ) return name
def deleteConfirmed(self, confirmed): if confirmed is None: confirmed = (None, "no") if confirmed[1] == "yes" or confirmed[1] == "yestoall": eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: # why we need this cast? sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) if confirmed[1] == "yes" or confirmed[1] == "no": # TRANSLATORS: The satellite with name '%s' is no longer used after a configuration change. The user is asked whether or not the satellite should be deleted. self.session.openWithCallback(self.deleteConfirmed, ChoiceBox, _("%s is no longer used. Should it be deleted?") %(sat_name), [(_("Yes"), "yes"), (_("No"), "no"), (_("Yes to all"), "yestoall"), (_("No to all"), "notoall")]) if confirmed[1] == "yestoall" or confirmed[1] == "notoall": self.deleteConfirmed(confirmed) break else: self.restoreService(_("Zap back to service before tuner setup?"))
def getSatelliteName(self, ref): if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: #Cable return _("Cable") elif orbpos == 0xEEEE: #Terrestrial return _("Terrestrial") elif orbpos == 0: #IPTV if IPTVcontrol: return _("IPTV") else: #Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager return str(nimmanager.getSatDescription(orbpos)) except: refString = ref.toString().lower() if "%3a//" in refString: return _("Stream") elif refString.startswith("1:134:"): return _("Altern") else: return orbpos > 1800 and "%d.%d°W"%((3600-orbpos)/10, (3600-orbpos)%10) or "%d.%d°E"%(orbpos/10, orbpos%10) return ""
def getSatelliteName(self, ref): if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 65535: return _('Cable') if orbpos == 61166: return _('Terrestrial') orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager return str(nimmanager.getSatDescription(orbpos)) except: dir = ref.flags & (eServiceReference.isDirectory | eServiceReference.isMarker) if not dir: refString = ref.toString().lower() if refString.startswith('-1'): return '' else: if refString.startswith('1:134:'): return _('Alternative') if refString.startswith('4097:'): return _('Internet') return orbpos > 1800 and '%d.%d\xc2\xb0W' % ( (3600 - orbpos) / 10, (3600 - orbpos) % 10) or '%d.%d\xc2\xb0E' % ( orbpos / 10, orbpos % 10) return ''
def getSatelliteName(self, ref): if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: #Cable return _("Cable") elif orbpos == 0xEEEE: #Terrestrial return _("Terrestrial") else: #Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager return str(nimmanager.getSatDescription(orbpos)) except: dir = ref.flags & (eServiceReference.isDirectory|eServiceReference.isMarker) if not dir: refString = ref.toString().lower() if refString.startswith("-1"): return '' elif refString.startswith("1:134:"): return _("Alternative") elif refString.startswith("4097:"): return _("Internet") else: return orbpos > 1800 and "%d.%d°W"%((3600-orbpos)/10, (3600-orbpos)%10) or "%d.%d°E"%(orbpos/10, orbpos%10) return ""
def deleteConfirmed(self, confirmed): if confirmed: eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove) if self.satpos_to_remove is not None: self.unconfed_sats.remove(self.satpos_to_remove) self.satpos_to_remove = None for orbpos in self.unconfed_sats: self.satpos_to_remove = orbpos orbpos = self.satpos_to_remove try: # why we need this cast? sat_name = str(nimmanager.getSatDescription(orbpos)) except: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Delete no more configured satellite\n%s?") %(sat_name)) break if not self.satpos_to_remove: self.close()
def showSatellites(self): if not self.pathChangeDisabled: refstr = '%s FROM SATELLITES ORDER BY satellitePosition' % ( self.service_types) if not self.preEnterPath(refstr): ref = eServiceReference(refstr) justSet = False prev = None if self.isBasePathEqual(ref): if self.isPrevPathEqual(ref): justSet = True prev = self.pathUp(justSet) else: currentRoot = self.getRoot() if currentRoot is None or currentRoot != ref: justSet = True self.clearPath() self.enterPath(ref, True) if justSet: serviceHandler = eServiceCenter.getInstance() servicelist = serviceHandler.list(ref) if not servicelist is None: while True: service = servicelist.getNext() if not service.valid(): #check if end of list break unsigned_orbpos = service.getUnsignedData(4) >> 16 orbpos = service.getData(4) >> 16 if orbpos < 0: orbpos += 3600 if service.getPath().find("FROM PROVIDER") != -1: service_type = _("Providers") try: # why we need this cast? service_name = str( nimmanager.getSatDescription(orbpos)) except: if unsigned_orbpos == 0xFFFF: #Cable service_name = _("Cable") elif unsigned_orbpos == 0xEEEE: #Terrestrial service_name = _("Terrestrial") else: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") service_name = ("%d.%d" + h) % ( orbpos / 10, orbpos % 10) service.setName("%s - %s" % (service_name, service_type)) self.servicelist.addService(service) self.servicelist.finishFill() if prev is not None: self.setCurrentSelection(prev)
def showSatellites(self): if not self.pathChangeDisabled: refstr = '%s FROM SATELLITES ORDER BY satellitePosition'%(self.service_types) if not self.preEnterPath(refstr): ref = eServiceReference(refstr) justSet=False prev = None if self.isBasePathEqual(ref): if self.isPrevPathEqual(ref): justSet=True prev = self.pathUp(justSet) else: currentRoot = self.getRoot() if currentRoot is None or currentRoot != ref: justSet=True self.clearPath() self.enterPath(ref, True) if justSet: serviceHandler = eServiceCenter.getInstance() servicelist = serviceHandler.list(ref) if not servicelist is None: while True: service = servicelist.getNext() if not service.valid(): #check if end of list break unsigned_orbpos = service.getUnsignedData(4) >> 16 orbpos = service.getData(4) >> 16 if orbpos < 0: orbpos += 3600 if service.getPath().find("FROM PROVIDER") != -1: service_type = _("Providers") try: # why we need this cast? service_name = str(nimmanager.getSatDescription(orbpos)) except: if unsigned_orbpos == 0xFFFF: #Cable service_name = _("Cable") elif unsigned_orbpos == 0xEEEE: #Terrestrial service_name = _("Terrestrial") else: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") service_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) service.setName("%s - %s" % (service_name, service_type)) self.servicelist.addService(service) self.servicelist.finishFill() if prev is not None: self.setCurrentSelection(prev)
def getTextualIndexRepresentation(self, index): print "getTextualIndexRepresentation:", index text = "" text += nimmanager.getSatDescription(index[2]) + ", " if index[0] == 1: text += "Low Band, " else: text += "High Band, " if index[1] == 0: text += "H" else: text += "V" return text
def getSatelliteName(self, ref): if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: #Cable return _("Cable") elif orbpos == 0xEEEE: #Terrestrial # return _("Terrestrial") try: nimfile = open('/proc/bus/nim_sockets') except IOError: return current_slot = None for line in nimfile: if not line: break line = line.strip() if line.startswith('NIM Socket'): parts = line.split(' ') current_slot = int(parts[2][:-1]) try: from Components.NimManager import nimmanager return str( nimmanager.getTerrestrialDescription(current_slot)) except: return _("Terrestrial") else: #Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager return str(nimmanager.getSatDescription(orbpos)) except: dir = ref.flags & (eServiceReference.isDirectory | eServiceReference.isMarker) if not dir: refString = ref.toString().lower() if refString.startswith('-1'): return '' elif refString.startswith('1:134:'): return _("Alternative") elif refString.startswith('4097:'): return _("Internet") else: return orbpos > 1800 and "%d.%d°W" % ( (3600 - orbpos) / 10, (3600 - orbpos) % 10) or "%d.%d°E" % (orbpos / 10, orbpos % 10) return ""
def getSatellites(stype): ret = [] s_type = service_types_tv if stype == "radio": s_type = service_types_radio refstr = '%s FROM SATELLITES ORDER BY satellitePosition' % (s_type) ref = eServiceReference(refstr) serviceHandler = eServiceCenter.getInstance() servicelist = serviceHandler.list(ref) if servicelist is not None: while True: service = servicelist.getNext() if not service.valid(): break unsigned_orbpos = service.getUnsignedData(4) >> 16 orbpos = service.getData(4) >> 16 if orbpos < 0: orbpos += 3600 if service.getPath().find("FROM PROVIDER") != -1: # service_type = _("Providers") continue elif service.getPath().find("flags == %d" % (FLAG_SERVICE_NEW_FOUND)) != -1: service_type = _("New") else: service_type = _("Services") try: service_name = str(nimmanager.getSatDescription(orbpos)) except BaseException: if unsigned_orbpos == 0xFFFF: # Cable service_name = _("Cable") elif unsigned_orbpos == 0xEEEE: # Terrestrial service_name = _("Terrestrial") else: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") service_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) service.setName("%s - %s" % (service_name, service_type)) ret.append({ "service": service.toString(), "name": service.getName() }) ret = sortSatellites(ret) return {"satellites": ret}
def getSatellites(stype): ret = [] s_type = service_types_tv if stype == "radio": s_type = service_types_radio refstr = '%s FROM SATELLITES ORDER BY satellitePosition'%(s_type) ref = eServiceReference(refstr) serviceHandler = eServiceCenter.getInstance() servicelist = serviceHandler.list(ref) if servicelist is not None: while True: service = servicelist.getNext() if not service.valid(): break unsigned_orbpos = service.getUnsignedData(4) >> 16 orbpos = service.getData(4) >> 16 if orbpos < 0: orbpos += 3600 if service.getPath().find("FROM PROVIDER") != -1: # service_type = _("Providers") continue elif service.getPath().find("flags == %d" %(FLAG_SERVICE_NEW_FOUND)) != -1: service_type = _("New") else: service_type = _("Services") try: service_name = str(nimmanager.getSatDescription(orbpos)) except: if unsigned_orbpos == 0xFFFF: #Cable service_name = _("Cable") elif unsigned_orbpos == 0xEEEE: #Terrestrial service_name = _("Terrestrial") else: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") service_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) service.setName("%s - %s" % (service_name, service_type)) ret.append({ "service": service.toString(), "name": service.getName() }) ret = sortSatellites(ret) return { "satellites": ret }
def getSatelliteName(self, ref): name = 'N/A' if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: #Cable name = _("Cable") elif orbpos == 0xEEEE: #Terrestrial name = _("Terrestrial") else: #Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager name = str(nimmanager.getSatDescription(orbpos)) except: name = orbpos > 1800 and "%d.%d°W"%((3600-orbpos)/10, (3600-orbpos)%10) or "%d.%d°E"%(orbpos/10, orbpos%10) return name
def scanFinished(self, value=None): print "finished" print "self.scanIndex:", self.scanIndex db = eDVBDB.getInstance() print "self.multiscanlist:", self.multiscanlist if len(self.multiscanlist) - 1 >= self.scanIndex and len(self.multiscanlist[self.scanIndex]) > 0: satint = self.multiscanlist[self.scanIndex][0] print "scanned sat:", satint db.saveServicelist("/tmp/lamedb." + str(satint)) file = open("/tmp/sat" + str(satint) + ".info", "w") xml = """<default> <prerequisites> <tag type="services" /> <bcastsystem type="DVB-S" /> <satellite type="%d" /> </prerequisites> <info> <author>%s</author> <name>%s</name> </info> <files type="directories"> <file type="services" name="lamedb.%d"> </file> </files> </default>""" % ( satint, "OpenSPA", nimmanager.getSatDescription(satint), satint, ) file.write(xml) file.close() self.scanIndex += 1 if self.scanIndex + 1 >= len(self.multiscanlist): print "no more sats to scan" confdir = resolveFilename(SCOPE_CONFIG) copyfile(confdir + "/lamedb.backup", confdir + "/lamedb") db.reloadServicelist() self.close() else: self.selectSat(self.scanIndex) self.keyGo()
def getSatelliteName(self, ref): name = 'N/A' if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 65535: name = _('Cable') elif orbpos == 61166: name = _('Terrestrial') else: orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager name = str(nimmanager.getSatDescription(orbpos)) except: name = orbpos > 1800 and '%d.%d\xc2\xb0W' % ((3600 - orbpos) / 10, (3600 - orbpos) % 10) or '%d.%d\xc2\xb0E' % (orbpos / 10, orbpos % 10) return name
def getSatelliteName(self, ref): if isinstance(ref, eServiceReference): orbpos = ref.getUnsignedData(4) >> 16 if orbpos == 0xFFFF: #Cable return _("Cable") elif orbpos == 0xEEEE: #Terrestrial # return _("Terrestrial") try: nimfile = open('/proc/bus/nim_sockets') except IOError: return current_slot = None for line in nimfile: if not line: break line = line.strip() if line.startswith('NIM Socket'): parts = line.split(' ') current_slot = int(parts[2][:-1]) try: from Components.NimManager import nimmanager return str(nimmanager.getTerrestrialDescription(current_slot)) except: return _("Terrestrial") else: #Satellite orbpos = ref.getData(4) >> 16 if orbpos < 0: orbpos += 3600 try: from Components.NimManager import nimmanager return str(nimmanager.getSatDescription(orbpos)) except: dir = ref.flags & (eServiceReference.isDirectory|eServiceReference.isMarker) if not dir: refString = ref.toString().lower() if refString.startswith('-1'): return '' elif refString.startswith('1:134:'): return _("Alternative") elif refString.startswith('4097:'): return _("Internet") else: return orbpos > 1800 and "%d.%d°W"%((3600-orbpos)/10, (3600-orbpos)%10) or "%d.%d°E"%(orbpos/10, orbpos%10) return ""
def scanFinished(self, value=None): print("[DefaultServicesScanner] finished") print("[DefaultServicesScanner] self.scanIndex:", self.scanIndex) db = eDVBDB.getInstance() print("[DefaultServicesScanner] self.multiscanlist:", self.multiscanlist) if len(self.multiscanlist) - 1 >= self.scanIndex and len( self.multiscanlist[self.scanIndex]) > 0: satint = self.multiscanlist[self.scanIndex][0] print("[DefaultServicesScanner] scanned sat:", satint) db.saveServicelist("/tmp/lamedb." + str(satint)) file = open("/tmp/sat" + str(satint) + ".info", "w") xml = """<default> <prerequisites> <tag type="services" /> <bcastsystem type="DVB-S" /> <satellite type="%d" /> </prerequisites> <info> <author>%s</author> <name>%s</name> </info> <files type="directories"> <file type="services" name="lamedb.%d"> </file> </files> </default>""" % (satint, "OpenVision", nimmanager.getSatDescription(satint), satint) file.write(xml) file.close() self.scanIndex += 1 if self.scanIndex + 1 >= len(self.multiscanlist): print("[DefaultServicesScanner] no more sats to scan") confdir = resolveFilename(SCOPE_CONFIG) copyfile(confdir + "/lamedb.backup", confdir + "/lamedb") db.reloadServicelist() self.close() else: self.selectSat(self.scanIndex) self.keyGo()
def orbposChoicelist(): choiceList = [(orbposDisabled, _('disabled'), 0)] nsDVBT = 0xeeee << 16 nsDVBC = 0xffff << 16 namespaces = set() if nimmanager.hasNimType("DVB-T") and nimmanager.terrestrialsList: namespaces.add(nsDVBT) if nimmanager.hasNimType("DVB-C") and nimmanager.cablesList: namespaces.add(nsDVBC) hasNamespaces = getNamespaces(namespaces) if nsDVBT in hasNamespaces: choiceList.append((nsDVBT >> 16, _('DVB-T Terrestrial services'), 0)) if nsDVBC in hasNamespaces: choiceList.append((nsDVBC >> 16, _('DVB-C Cable services'), 0)) choiceList += [ (orbpos, nimmanager.getSatDescription(orbpos), 0) for orbpos in sorted(nimmanager.getConfiguredSats(), key=lambda x: x if x <= 1800 else x - 3600) ] return choiceList
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary and self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.DonePartially self.servicelist.listAll() else: self.state = self.Error self.errorcode = errcode self.network.setText("") self.transponder.setText("") else: result = self.foundServices + self.scan.getNumServices() percentage = self.scan.getProgress() if percentage > 99: percentage = 99 #TRANSLATORS: The stb is performing a channel scan, progress percentage is printed in '%d' (and '%%' will show a single '%' symbol) message = ngettext("Scanning - %d%% completed", "Scanning - %d%% completed", percentage) % percentage message += ", " #TRANSLATORS: Intermediate scanning result, '%d' channel(s) have been found so far message += ngettext("%d channel found", "%d channels found", result) % result self.text.setText(message) transponder = self.scan.getCurrentTransponder() network = "" tp_text = "" if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _("Satellite") tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = "" if orb_pos > 1800: # west orb_pos = 3600 - orb_pos h = _("W") else: h = _("E") if ("%d.%d" % (orb_pos / 10, orb_pos % 10)) in sat_name: network = sat_name else: network = ("%s %d.%d %s") % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = {tp.System_DVB_S: "DVB-S", tp.System_DVB_S2: "DVB-S2"}.get(tp.system, "") if tp_text == "DVB-S2": tp_text = ("%s %s") % (tp_text, {tp.Modulation_Auto: "Auto", tp.Modulation_QPSK: "QPSK", tp.Modulation_8PSK: "8PSK", tp.Modulation_QAM16: "QAM16", tp.Modulation_16APSK: "16APSK", tp.Modulation_32APSK: "32APSK"}.get(tp.modulation, "")) tp_text = ("%s %d%c / %d / %s") % (tp_text, tp.frequency / 1000, {tp.Polarisation_Horizontal: 'H', tp.Polarisation_Vertical: 'V', tp.Polarisation_CircularLeft: 'L', tp.Polarisation_CircularRight: 'R'}.get(tp.polarisation, ' '), tp.symbol_rate / 1000, {tp.FEC_Auto: "AUTO", tp.FEC_1_2: "1/2", tp.FEC_2_3: "2/3", tp.FEC_3_4: "3/4", tp.FEC_3_5: "3/5", tp.FEC_4_5: "4/5", tp.FEC_5_6: "5/6", tp.FEC_6_7: "6/7", tp.FEC_7_8: "7/8", tp.FEC_8_9: "8/9", tp.FEC_9_10: "9/10", tp.FEC_None: "NONE"}.get(tp.fec, "")) if tp.system == tp.System_DVB_S2: if tp.is_id > tp.No_Stream_Id_Filter: tp_text = ("%s MIS %d") % (tp_text, tp.is_id) if tp.pls_code > 0: tp_text = ("%s Gold %d") % (tp_text, tp.pls_code) if tp.t2mi_plp_id > tp.No_T2MI_PLP_Id: tp_text = ("%s T2MI %d PID %d") % (tp_text, tp.t2mi_plp_id, tp.t2mi_pid) elif tp_type == iDVBFrontend.feCable: network = _("Cable") tp = transponder.getDVBC() tp_text = ("DVB-C %s %d / %d / %s") % ({tp.Modulation_Auto: "AUTO", tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM32: "QAM32", tp.Modulation_QAM64: "QAM64", tp.Modulation_QAM128: "QAM128", tp.Modulation_QAM256: "QAM256"}.get(tp.modulation, ""), tp.frequency, tp.symbol_rate / 1000, {tp.FEC_Auto: "AUTO", tp.FEC_1_2: "1/2", tp.FEC_2_3: "2/3", tp.FEC_3_4: "3/4", tp.FEC_3_5: "3/5", tp.FEC_4_5: "4/5", tp.FEC_5_6: "5/6", tp.FEC_6_7: "6/7", tp.FEC_7_8: "7/8", tp.FEC_8_9: "8/9", tp.FEC_9_10: "9/10", tp.FEC_None: "NONE"}.get(tp.fec_inner, "")) elif tp_type == iDVBFrontend.feTerrestrial: network = _("Terrestrial") tp = transponder.getDVBT() channel = getChannelNumber(tp.frequency, self.scanList[self.run]["feid"]) if channel: channel = _("CH") + "%s " % channel freqMHz = "%0.1f MHz" % (tp.frequency / 1000000.) tp_text = ("%s %s %s %s") % ( { tp.System_DVB_T_T2: "DVB-T/T2", tp.System_DVB_T: "DVB-T", tp.System_DVB_T2: "DVB-T2" }.get(tp.system, ""), { tp.Modulation_QPSK: "QPSK", tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM64: "QAM64", tp.Modulation_Auto: "AUTO", tp.Modulation_QAM256: "QAM256" }.get(tp.modulation, ""), "%s%s" % (channel, freqMHz.replace(".0", "")), { tp.Bandwidth_8MHz: "Bw 8MHz", tp.Bandwidth_7MHz: "Bw 7MHz", tp.Bandwidth_6MHz: "Bw 6MHz", tp.Bandwidth_Auto: "Bw Auto", tp.Bandwidth_5MHz: "Bw 5MHz", tp.Bandwidth_1_712MHz: "Bw 1.712MHz", tp.Bandwidth_10MHz: "Bw 10MHz" }.get(tp.bandwidth, "")) elif tp_type == iDVBFrontend.feATSC: network = _("ATSC") tp = transponder.getATSC() freqMHz = "%0.1f MHz" % (tp.frequency / 1000000.) tp_text = ("%s %s %s %s") % ( { tp.System_ATSC: _("ATSC"), tp.System_DVB_C_ANNEX_B: _("DVB-C ANNEX B") }.get(tp.system, ""), { tp.Modulation_Auto: _("Auto"), tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM32: "QAM32", tp.Modulation_QAM64: "QAM64", tp.Modulation_QAM128: "QAM128", tp.Modulation_QAM256: "QAM256", tp.Modulation_VSB_8: "8VSB", tp.Modulation_VSB_16: "16VSB" }.get(tp.modulation, ""), freqMHz.replace(".0", ""), { tp.Inversion_Off: _("Off"), tp.Inversion_On: _("On"), tp.Inversion_Unknown: _("Auto") }.get(tp.inversion, "")) else: print("[ServiceScan] unknown transponder type in scanStatusChanged") self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.DonePartially: self.foundServices += self.scan.getNumServices() self.text.setText(ngettext("Scanning completed, %d channel found", "Scanning completed, %d channels found", self.foundServices) % self.foundServices) if self.state == self.Error: self.text.setText(_("ERROR - failed to scan (%s)!") % (self.Errors[self.errorcode])) if self.state == self.DonePartially or self.state == self.Error: self.delaytimer.start(100, True)
def createSetup(self): self.tuneTimer.stop() self.list = [] self.multiscanlist = [] index_to_scan = int(self.scan_nims.value) config_list = True self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims) self.list.append(self.tunerEntry) if self.scan_nims == [ ]: return self.typeOfScanEntry = None self.systemEntry = None self.satelliteEntry = None self.modulationEntry = None self.transpondersEntry = None self.scan_networkScan.value = False nim = nimmanager.nim_slots[index_to_scan] if nim.isCompatible("DVB-S"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type) self.list.append(self.typeOfScanEntry) if self.scan_type.value == "single_transponder": self.updateSatList() sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) if nim.isCompatible("DVB-S2"): self.systemEntry = getConfigListEntry(_('System'), self.scan_sat.system) self.list.append(self.systemEntry) else: self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan])) self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency)) self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion)) self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate)) self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization)) if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec)) elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2)) self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation) self.list.append(self.modulationEntry) self.list.append(getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff)) self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot)) elif self.scan_type.value == "predefined_transponder": self.updateSatList() self.satelliteEntry = getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan]) self.list.append(self.satelliteEntry) sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) self.transpondersEntry = getConfigListEntry(_('Transponder'), self.scan_transponders) self.list.append(self.transpondersEntry) elif self.scan_type.value == "single_satellite": self.updateSatList() sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) print self.scan_satselection[index_to_scan] self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.scan_networkScan.value = True elif self.scan_type.value == "multisat": tlist = [] SatList = nimmanager.getSatListForNim(index_to_scan) for x in SatList: if self.Satexists(tlist, x[0]) == 0: tlist.append(x[0]) sat = ConfigEnableDisable(default = self.scan_type.value.find("_yes") != -1 and True or False) configEntry = getConfigListEntry(nimmanager.getSatDescription(x[0]), sat) self.list.append(configEntry) self.multiscanlist.append((x[0], sat)) sat.addNotifier(self.retune, initial_call = False) self.scan_networkScan.value = True elif self.scan_type.value == "provider": config_list = False satList = nimmanager.getSatListForNim(index_to_scan) satchoises = [("none", _("None"))] for sat in satList: if sat[0] == 360: satchoises.append(("ntv", _("NTV Plus"))) satchoises.append(("tricolor", _("Tricolor TV"))) satchoises.append(("lybid", _("Lybid TV "))) elif sat[0] == 3560: satchoises.append(("xtra", _("Xtra TV"))) elif sat[0] == 600: satchoises.append(("aktiv", _("Aktiv TV"))) elif sat[0] == 750: satchoises.append(("raduga", _("Raduga TV"))) elif sat[0] == 850: satchoises.append(("kontinent", _("Kontinent TV"))) self.provider_list = ConfigSelection(default = "none", choices = satchoises) ProviderEntry = getConfigListEntry(_("Provider"), self.provider_list) self.list.append(ProviderEntry) self.provider_list.addNotifier(self.retune, initial_call = False) if self.provider_list.value == "none": self.retune(None) self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan)) self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices)) if config_list: self.list.append(getConfigListEntry(_("Only Free scan"), self.scan_onlyfree)) self["config"].list = self.list self["config"].l.setList(self.list)
def createSetup(self): self.list = [] self.multiscanlist = [] index_to_scan = int(self.scan_nims.value) print "ID: ", index_to_scan self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims) self.list.append(self.tunerEntry) if self.scan_nims == [ ]: return self.typeOfScanEntry = None self.systemEntry = None self.modulationEntry = None nim = nimmanager.nim_slots[index_to_scan] if nim.isCompatible("DVB-S"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type) self.list.append(self.typeOfScanEntry) elif nim.isCompatible("DVB-C"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typecable) self.list.append(self.typeOfScanEntry) elif nim.isCompatible("DVB-T"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typeterrestrial) self.list.append(self.typeOfScanEntry) self.scan_networkScan.value = False if nim.isCompatible("DVB-S"): if self.scan_type.value == "single_transponder": self.updateSatList() if nim.isCompatible("DVB-S2"): self.systemEntry = getConfigListEntry(_('System'), self.scan_sat.system) self.list.append(self.systemEntry) else: # downgrade to dvb-s, in case a -s2 config was active self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan])) self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency)) self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion)) self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate)) self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization)) if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec)) elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2)) self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation) self.list.append(self.modulationEntry) self.list.append(getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff)) self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot)) elif self.scan_type.value == "single_satellite": self.updateSatList() print self.scan_satselection[index_to_scan] self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.scan_networkScan.value = True elif self.scan_type.value.find("multisat") != -1: tlist = [] SatList = nimmanager.getSatListForNim(index_to_scan) for x in SatList: if self.Satexists(tlist, x[0]) == 0: tlist.append(x[0]) sat = ConfigEnableDisable(default = self.scan_type.value.find("_yes") != -1 and True or False) configEntry = getConfigListEntry(nimmanager.getSatDescription(x[0]), sat) self.list.append(configEntry) self.multiscanlist.append((x[0], sat)) self.scan_networkScan.value = True elif nim.isCompatible("DVB-C"): if self.scan_typecable.value == "single_transponder": self.list.append(getConfigListEntry(_("Frequency"), self.scan_cab.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_cab.inversion)) self.list.append(getConfigListEntry(_("Symbol Rate"), self.scan_cab.symbolrate)) self.list.append(getConfigListEntry(_("Modulation"), self.scan_cab.modulation)) self.list.append(getConfigListEntry(_("FEC"), self.scan_cab.fec)) if config.Nims[index_to_scan].cable.scan_networkid.value: self.networkid = config.Nims[index_to_scan].cable.scan_networkid.value self.scan_networkScan.value = True elif nim.isCompatible("DVB-T"): if self.scan_typeterrestrial.value == "single_transponder": self.list.append(getConfigListEntry(_("Frequency"), self.scan_ter.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_ter.inversion)) self.list.append(getConfigListEntry(_("Bandwidth"), self.scan_ter.bandwidth)) self.list.append(getConfigListEntry(_("Code rate high"), self.scan_ter.fechigh)) self.list.append(getConfigListEntry(_("Code rate low"), self.scan_ter.feclow)) self.list.append(getConfigListEntry(_("Modulation"), self.scan_ter.modulation)) self.list.append(getConfigListEntry(_("Transmission mode"), self.scan_ter.transmission)) self.list.append(getConfigListEntry(_("Guard interval mode"), self.scan_ter.guard)) self.list.append(getConfigListEntry(_("Hierarchy mode"), self.scan_ter.hierarchy)) self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan)) self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices)) self.list.append(getConfigListEntry(_("Only Free scan"), self.scan_onlyfree)) self["config"].list = self.list self["config"].l.setList(self.list)
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.Done self.servicelist.listAll() else: self.state = self.Error self.errorcode = errcode self.network.setText('') self.transponder.setText('') else: result = self.foundServices + self.scan.getNumServices() percentage = self.scan.getProgress() if percentage > 99: percentage = 99 message = ngettext('Scanning - %d%% completed', 'Scanning - %d%% completed', percentage) % percentage message += ', ' message += ngettext('%d channel found', '%d channels found', result) % result self.text.setText(message) transponder = self.scan.getCurrentTransponder() network = '' tp_text = '' if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _('Satellite') tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = '' if orb_pos > 1800: orb_pos = 3600 - orb_pos h = _('W') else: h = _('E') if '%d.%d' % (orb_pos / 10, orb_pos % 10) in sat_name: network = sat_name else: network = '%s %d.%d %s' % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = {tp.System_DVB_S: 'DVB-S', tp.System_DVB_S2: 'DVB-S2'}.get(tp.system, '') if tp_text == 'DVB-S2': tp_text = '%s %s' % (tp_text, {tp.Modulation_Auto: 'Auto', tp.Modulation_QPSK: 'QPSK', tp.Modulation_8PSK: '8PSK', tp.Modulation_QAM16: 'QAM16'}.get(tp.modulation, '')) tp_text = '%s %d%c / %d / %s' % (tp_text, tp.frequency / 1000, {tp.Polarisation_Horizontal: 'H', tp.Polarisation_Vertical: 'V', tp.Polarisation_CircularLeft: 'L', tp.Polarisation_CircularRight: 'R'}.get(tp.polarisation, ' '), tp.symbol_rate / 1000, {tp.FEC_Auto: 'AUTO', tp.FEC_1_2: '1/2', tp.FEC_2_3: '2/3', tp.FEC_3_4: '3/4', tp.FEC_5_6: '5/6', tp.FEC_7_8: '7/8', tp.FEC_8_9: '8/9', tp.FEC_3_5: '3/5', tp.FEC_4_5: '4/5', tp.FEC_9_10: '9/10', tp.FEC_None: 'NONE'}.get(tp.fec, '')) elif tp_type == iDVBFrontend.feCable: network = _('Cable') tp = transponder.getDVBC() tp_text = 'DVB-C %s %d / %d / %s' % ({tp.Modulation_Auto: 'AUTO', tp.Modulation_QAM16: 'QAM16', tp.Modulation_QAM32: 'QAM32', tp.Modulation_QAM64: 'QAM64', tp.Modulation_QAM128: 'QAM128', tp.Modulation_QAM256: 'QAM256'}.get(tp.modulation, ''), tp.frequency, tp.symbol_rate / 1000, {tp.FEC_Auto: 'AUTO', tp.FEC_1_2: '1/2', tp.FEC_2_3: '2/3', tp.FEC_3_4: '3/4', tp.FEC_5_6: '5/6', tp.FEC_7_8: '7/8', tp.FEC_8_9: '8/9', tp.FEC_3_5: '3/5', tp.FEC_4_5: '4/5', tp.FEC_9_10: '9/10', tp.FEC_None: 'NONE'}.get(tp.fec_inner, '')) elif tp_type == iDVBFrontend.feTerrestrial: network = _('Terrestrial') tp = transponder.getDVBT() channel = getChannelNumber(tp.frequency, self.scanList[self.run]['feid']) if channel: channel = _('CH') + '%s ' % channel freqMHz = '%0.1f MHz' % (tp.frequency / 1000000.0) tp_text = '%s %s %s %s' % ({tp.System_DVB_T_T2: 'DVB-T/T2', tp.System_DVB_T: 'DVB-T', tp.System_DVB_T2: 'DVB-T2'}.get(tp.system, ''), {tp.Modulation_QPSK: 'QPSK', tp.Modulation_QAM16: 'QAM16', tp.Modulation_QAM64: 'QAM64', tp.Modulation_Auto: 'AUTO', tp.Modulation_QAM256: 'QAM256'}.get(tp.modulation, ''), '%s%s' % (channel, freqMHz.replace('.0', '')), {tp.Bandwidth_8MHz: 'Bw 8MHz', tp.Bandwidth_7MHz: 'Bw 7MHz', tp.Bandwidth_6MHz: 'Bw 6MHz', tp.Bandwidth_Auto: 'Bw Auto', tp.Bandwidth_5MHz: 'Bw 5MHz', tp.Bandwidth_1_712MHz: 'Bw 1.712MHz', tp.Bandwidth_10MHz: 'Bw 10MHz'}.get(tp.bandwidth, '')) else: print 'unknown transponder type in scanStatusChanged' self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.Done: result = self.foundServices + self.scan.getNumServices() self.text.setText(ngettext('Scanning completed, %d channel found', 'Scanning completed, %d channels found', result) % result) if self.state == self.Error: self.text.setText(_('ERROR - failed to scan (%s)!') % self.Errors[self.errorcode]) if self.state == self.Done or self.state == self.Error: if self.run != len(self.scanList) - 1: self.foundServices += self.scan.getNumServices() self.execEnd() self.run += 1 self.execBegin()
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.Done self.servicelist.listAll() else: self.state = self.Error self.errorcode = errcode self.network.setText("") self.transponder.setText("") else: result = self.foundServices + self.scan.getNumServices() percentage = self.scan.getProgress() if percentage > 99: percentage = 99 #TRANSLATORS: The stb is performing a channel scan, progress percentage is printed in '%d' (and '%%' will show a single '%' symbol) message = ngettext("Scanning - %d%% completed", "Scanning - %d%% completed", percentage) % percentage message += ", " #TRANSLATORS: Intermediate scanning result, '%d' channel(s) have been found so far message += ngettext("%d channel found", "%d channels found", result) % result self.text.setText(message) transponder = self.scan.getCurrentTransponder() network = "" tp_text = "" if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _("Satellite") tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = "" if orb_pos > 1800: # west orb_pos = 3600 - orb_pos h = _("W") else: h = _("E") if ("%d.%d" % (orb_pos/10, orb_pos%10)) in sat_name: network = sat_name else: network = ("%s %d.%d %s") % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = { tp.System_DVB_S : "DVB-S", tp.System_DVB_S2 : "DVB-S2" }.get(tp.system, "") if tp_text == "DVB-S2": tp_text = ("%s %s") % ( tp_text, { tp.Modulation_Auto : "Auto", tp.Modulation_QPSK : "QPSK", tp.Modulation_8PSK : "8PSK", tp.Modulation_QAM16 : "QAM16" }.get(tp.modulation, "")) tp_text = ("%s %d%c / %d / %s") % ( tp_text, tp.frequency/1000, { tp.Polarisation_Horizontal : 'H', tp.Polarisation_Vertical : 'V', tp.Polarisation_CircularLeft : 'L', tp.Polarisation_CircularRight : 'R' }.get(tp.polarisation, ' '), tp.symbol_rate/1000, { tp.FEC_Auto : "AUTO", tp.FEC_1_2 : "1/2", tp.FEC_2_3 : "2/3", tp.FEC_3_4 : "3/4", tp.FEC_5_6 : "5/6", tp.FEC_7_8 : "7/8", tp.FEC_8_9 : "8/9", tp.FEC_3_5 : "3/5", tp.FEC_4_5 : "4/5", tp.FEC_9_10 : "9/10", tp.FEC_None : "NONE" }.get(tp.fec, "")) elif tp_type == iDVBFrontend.feCable: network = _("Cable") tp = transponder.getDVBC() freqMHz = "%0.1f MHz" % (tp.frequency/1000000.) tp_text = ("DVB-C %s %s / %d / %s") %( { tp.Modulation_Auto : "AUTO", tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM32 : "QAM32", tp.Modulation_QAM64 : "QAM64", tp.Modulation_QAM128 : "QAM128", tp.Modulation_QAM256 : "QAM256" }.get(tp.modulation, ""), freqMHz.replace(".0",""), tp.symbol_rate/1000, { tp.FEC_Auto : "AUTO", tp.FEC_1_2 : "1/2", tp.FEC_2_3 : "2/3", tp.FEC_3_4 : "3/4", tp.FEC_5_6 : "5/6", tp.FEC_7_8 : "7/8", tp.FEC_8_9 : "8/9", tp.FEC_6_7 : "6/7", tp.FEC_None : "NONE" }.get(tp.fec_inner, "")) elif tp_type == iDVBFrontend.feTerrestrial: network = _("Terrestrial") tp = transponder.getDVBT() channel = channelnumbers.getChannelNumber(tp.frequency, self.scanList[self.run]["feid"]) if channel: channel = _("CH") + "%s " % channel freqMHz = "%0.1f MHz" % (tp.frequency/1000000.) tp_text = ("%s %s %s %s") %( { tp.System_DVB_T : "DVB-T", tp.System_DVB_T2 : "DVB-T2" }.get(tp.system, ""), { tp.Modulation_QPSK : "QPSK", tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM64 : "QAM64", tp.Modulation_Auto : "AUTO", tp.Modulation_QAM256 : "QAM256" }.get(tp.modulation, ""), "%s%s" % (channel, freqMHz.replace(".0","")), { tp.Bandwidth_8MHz : "Bw 8MHz", tp.Bandwidth_7MHz : "Bw 7MHz", tp.Bandwidth_6MHz : "Bw 6MHz", tp.Bandwidth_Auto : "Bw Auto", tp.Bandwidth_5MHz : "Bw 5MHz", tp.Bandwidth_1_712MHz : "Bw 1.712MHz", tp.Bandwidth_10MHz : "Bw 10MHz" }.get(tp.bandwidth, "")) else: print "unknown transponder type in scanStatusChanged" self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.Done: result = self.foundServices + self.scan.getNumServices() self.text.setText(ngettext("Scanning completed, %d channel found", "Scanning completed, %d channels found", result) % result) if self.state == self.Error: self.text.setText(_("ERROR - failed to scan (%s)!") % (self.Errors[self.errorcode]) ) if self.state == self.Done or self.state == self.Error: if self.run != len(self.scanList) - 1: self.foundServices += self.scan.getNumServices() self.execEnd() self.run += 1 self.execBegin()
def createSetup(self): self.tuneTimer.stop() self.list = [] self.multiscanlist = [] index_to_scan = int(self.scan_nims.value) self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims) self.list.append(self.tunerEntry) if self.scan_nims == []: return self.typeOfScanEntry = None self.systemEntry = None self.satelliteEntry = None self.modulationEntry = None self.scan_networkScan.value = False nim = nimmanager.nim_slots[index_to_scan] if nim.isCompatible("DVB-S"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type) self.list.append(self.typeOfScanEntry) if self.scan_type.value == "single_transponder": self.updateSatList() sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) if nim.isCompatible("DVB-S2"): self.systemEntry = getConfigListEntry(_("System"), self.scan_sat.system) self.list.append(self.systemEntry) else: self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.list.append(getConfigListEntry(_("Frequency"), self.scan_sat.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_sat.inversion)) self.list.append(getConfigListEntry(_("Symbol Rate"), self.scan_sat.symbolrate)) self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization)) if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec)) elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2)) self.modulationEntry = getConfigListEntry(_("Modulation"), self.scan_sat.modulation) self.list.append(self.modulationEntry) self.list.append(getConfigListEntry(_("Rolloff"), self.scan_sat.rolloff)) self.list.append(getConfigListEntry(_("Pilot"), self.scan_sat.pilot)) elif self.scan_type.value == "predefined_transponder": self.updateSatList() self.satelliteEntry = getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan]) self.list.append(self.satelliteEntry) sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) self.list.append(getConfigListEntry(_("Transponder"), self.scan_transponders)) elif self.scan_type.value == "single_satellite": self.updateSatList() sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) print self.scan_satselection[index_to_scan] self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.scan_networkScan.value = True elif self.scan_type.value == "multisat": tlist = [] SatList = nimmanager.getSatListForNim(index_to_scan) for x in SatList: if self.Satexists(tlist, x[0]) == 0: tlist.append(x[0]) sat = ConfigEnableDisable(default=self.scan_type.value.find("_yes") != -1 and True or False) configEntry = getConfigListEntry(nimmanager.getSatDescription(x[0]), sat) self.list.append(configEntry) self.multiscanlist.append((x[0], sat)) sat.addNotifier(self.retune, initial_call=False) self.scan_networkScan.value = True self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan)) self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices)) self.list.append(getConfigListEntry(_("Only Free scan"), self.scan_onlyfree)) self["config"].list = self.list self["config"].l.setList(self.list)
def createSetup(self): self.list = [] self.multiscanlist = [] index_to_scan = int(self.scan_nims.getValue()) print "ID: ", index_to_scan self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims) self.list.append(self.tunerEntry) if self.scan_nims == [ ]: return self.typeOfScanEntry = None self.systemEntry = None self.modulationEntry = None nim = nimmanager.nim_slots[index_to_scan] if nim.isCompatible("DVB-S"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type) self.list.append(self.typeOfScanEntry) elif nim.isCompatible("DVB-C"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typecable) self.list.append(self.typeOfScanEntry) elif nim.isCompatible("DVB-T"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typeterrestrial) self.list.append(self.typeOfScanEntry) self.scan_networkScan.setValue(False) if nim.isCompatible("DVB-S"): if self.scan_type.getValue() == "single_transponder": self.updateSatList() if nim.isCompatible("DVB-S2"): self.systemEntry = getConfigListEntry(_('System'), self.scan_sat.system) self.list.append(self.systemEntry) else: # downgrade to dvb-s, in case a -s2 config was active self.scan_sat.system.setValue(eDVBFrontendParametersSatellite.System_DVB_S) self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan])) self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency)) self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion)) self.list.append(getConfigListEntry(_('Symbol rate'), self.scan_sat.symbolrate)) self.list.append(getConfigListEntry(_('Polarization'), self.scan_sat.polarization)) if self.scan_sat.system.getValue() == eDVBFrontendParametersSatellite.System_DVB_S: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec)) elif self.scan_sat.system.getValue() == eDVBFrontendParametersSatellite.System_DVB_S2: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2)) self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation) self.list.append(self.modulationEntry) self.list.append(getConfigListEntry(_('Roll-off'), self.scan_sat.rolloff)) self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot)) elif self.scan_type.getValue() == "single_satellite": self.updateSatList() print self.scan_satselection[index_to_scan] self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.scan_networkScan.setValue(True) elif self.scan_type.getValue().find("multisat") != -1: tlist = [] SatList = nimmanager.getSatListForNim(index_to_scan) for x in SatList: if self.Satexists(tlist, x[0]) == 0: tlist.append(x[0]) sat = ConfigEnableDisable(default = self.scan_type.getValue().find("_yes") != -1 and True or False) configEntry = getConfigListEntry(nimmanager.getSatDescription(x[0]), sat) self.list.append(configEntry) self.multiscanlist.append((x[0], sat)) self.scan_networkScan.setValue(True) elif nim.isCompatible("DVB-C"): if self.scan_typecable.getValue() == "single_transponder": self.list.append(getConfigListEntry(_("Frequency"), self.scan_cab.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_cab.inversion)) self.list.append(getConfigListEntry(_("Symbol rate"), self.scan_cab.symbolrate)) self.list.append(getConfigListEntry(_("Modulation"), self.scan_cab.modulation)) self.list.append(getConfigListEntry(_("FEC"), self.scan_cab.fec)) if config.Nims[index_to_scan].cable.scan_networkid.getValue(): self.networkid = config.Nims[index_to_scan].cable.scan_networkid.getValue() self.scan_networkScan.setValue(True) elif nim.isCompatible("DVB-T"): if self.scan_typeterrestrial.getValue() == "single_transponder": self.list.append(getConfigListEntry(_("Frequency"), self.scan_ter.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_ter.inversion)) self.list.append(getConfigListEntry(_("Bandwidth"), self.scan_ter.bandwidth)) self.list.append(getConfigListEntry(_("Code rate HP"), self.scan_ter.fechigh)) self.list.append(getConfigListEntry(_("Code rate LP"), self.scan_ter.feclow)) self.list.append(getConfigListEntry(_("Modulation"), self.scan_ter.modulation)) self.list.append(getConfigListEntry(_("Transmission mode"), self.scan_ter.transmission)) self.list.append(getConfigListEntry(_("Guard interval"), self.scan_ter.guard)) self.list.append(getConfigListEntry(_("Hierarchy info"), self.scan_ter.hierarchy)) self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan)) self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices)) self.list.append(getConfigListEntry(_("Only free scan"), self.scan_onlyfree)) self["config"].list = self.list self["config"].l.setList(self.list)
def createSetup(self): self.list = [] self.multiscanlist = [] index_to_scan = int(self.scan_nims.value) print "ID: ", index_to_scan self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims) self.list.append(self.tunerEntry) if self.scan_nims == [ ]: return self.typeOfScanEntry = None self.typeOfInputEntry = None self.systemEntry = None self.modulationEntry = None self.preDefSatList = None nim = nimmanager.nim_slots[index_to_scan] if nim.isCompatible("DVB-S"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type) self.list.append(self.typeOfScanEntry) elif nim.isCompatible("DVB-C"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typecable) self.list.append(self.typeOfScanEntry) elif nim.isCompatible("DVB-T"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typeterrestrial) self.typeOfInputEntry = getConfigListEntry(_("Use frequency or channel"), self.scan_input_as) self.list.append(self.typeOfScanEntry) if self.ter_channel_input: self.list.append(self.typeOfInputEntry) self.scan_networkScan.value = False if nim.isCompatible("DVB-S"): if self.scan_type.value == "single_transponder": self.updateSatList() if nim.isCompatible("DVB-S2"): self.systemEntry = getConfigListEntry(_('System'), self.scan_sat.system) self.list.append(self.systemEntry) else: # downgrade to dvb-s, in case a -s2 config was active self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan])) self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency)) self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion)) self.list.append(getConfigListEntry(_('Symbol rate'), self.scan_sat.symbolrate)) self.list.append(getConfigListEntry(_('Polarization'), self.scan_sat.polarization)) if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec)) elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2: self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2)) self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation) self.list.append(self.modulationEntry) self.list.append(getConfigListEntry(_('Roll-off'), self.scan_sat.rolloff)) self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot)) elif self.scan_type.value == "predefined_transponder" and self.satList[index_to_scan]: self.updateSatList() self.preDefSatList = getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan]) self.list.append(self.preDefSatList) sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index] self.predefinedTranspondersList(sat[0]) self.list.append(getConfigListEntry(_('Transponder'), self.preDefTransponders)) elif self.scan_type.value == "single_satellite": self.updateSatList() print self.scan_satselection[index_to_scan] self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.scan_networkScan.value = True elif "multisat" in self.scan_type.value: tlist = [] SatList = nimmanager.getSatListForNim(index_to_scan) for x in SatList: if self.Satexists(tlist, x[0]) == 0: tlist.append(x[0]) sat = ConfigEnableDisable(default = "_yes" in self.scan_type.value and True or False) configEntry = getConfigListEntry(nimmanager.getSatDescription(x[0]), sat) self.list.append(configEntry) self.multiscanlist.append((x[0], sat)) self.scan_networkScan.value = True elif nim.isCompatible("DVB-C"): if self.scan_typecable.value == "single_transponder": self.list.append(getConfigListEntry(_("Frequency"), self.scan_cab.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_cab.inversion)) self.list.append(getConfigListEntry(_("Symbol rate"), self.scan_cab.symbolrate)) self.list.append(getConfigListEntry(_("Modulation"), self.scan_cab.modulation)) self.list.append(getConfigListEntry(_("FEC"), self.scan_cab.fec)) if config.Nims[index_to_scan].cable.scan_networkid.value: self.networkid = config.Nims[index_to_scan].cable.scan_networkid.value self.scan_networkScan.value = True elif nim.isCompatible("DVB-T"): if self.scan_typeterrestrial.value == "single_transponder": if nim.isCompatible("DVB-T2"): self.systemEntry = getConfigListEntry(_('System'), self.scan_ter.system) self.list.append(self.systemEntry) else: self.scan_ter.system.value = eDVBFrontendParametersTerrestrial.System_DVB_T if self.ter_channel_input and self.scan_input_as.value == "channel": channel = channelnumbers.getChannelNumber(self.scan_ter.frequency.value*1000, self.ter_tnumber) self.scan_ter.channel.value = int(channel.replace("+","").replace("-","")) self.list.append(getConfigListEntry(_("Channel"), self.scan_ter.channel)) else: self.scan_ter.frequency.value = channelnumbers.channel2frequency(self.scan_ter.channel.value, self.ter_tnumber)/1000 self.list.append(getConfigListEntry(_("Frequency"), self.scan_ter.frequency)) self.list.append(getConfigListEntry(_("Inversion"), self.scan_ter.inversion)) self.list.append(getConfigListEntry(_("Bandwidth"), self.scan_ter.bandwidth)) self.list.append(getConfigListEntry(_("Code rate HP"), self.scan_ter.fechigh)) self.list.append(getConfigListEntry(_("Code rate LP"), self.scan_ter.feclow)) self.list.append(getConfigListEntry(_("Modulation"), self.scan_ter.modulation)) self.list.append(getConfigListEntry(_("Transmission mode"), self.scan_ter.transmission)) self.list.append(getConfigListEntry(_("Guard interval"), self.scan_ter.guard)) self.list.append(getConfigListEntry(_("Hierarchy info"), self.scan_ter.hierarchy)) if self.scan_ter.system.value == eDVBFrontendParametersTerrestrial.System_DVB_T2: self.list.append(getConfigListEntry(_('PLP ID'), self.scan_ter.plp_id)) self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan)) self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices)) self.list.append(getConfigListEntry(_("Only free scan"), self.scan_onlyfree)) self["config"].list = self.list self["config"].l.setList(self.list)
def showSatellites(self): if not self.pathChangeDisabled: refstr = '%s FROM SATELLITES ORDER BY satellitePosition'%(self.service_types) if not self.preEnterPath(refstr): ref = eServiceReference(refstr) justSet=False prev = None if self.isBasePathEqual(ref): if self.isPrevPathEqual(ref): justSet=True prev = self.pathUp(justSet) else: currentRoot = self.getRoot() if currentRoot is None or currentRoot != ref: justSet=True self.clearPath() self.enterPath(ref, True) if justSet: serviceHandler = eServiceCenter.getInstance() servicelist = serviceHandler.list(ref) if not servicelist is None: while True: service = servicelist.getNext() if not service.valid(): #check if end of list break unsigned_orbpos = service.getUnsignedData(4) >> 16 orbpos = service.getData(4) >> 16 if orbpos < 0: orbpos += 3600 if service.getPath().find("FROM PROVIDER") != -1: service_type = _("Providers") elif service.getPath().find("flags == %d" %(FLAG_SERVICE_NEW_FOUND)) != -1: service_type = _("New") else: service_type = _("Services") try: # why we need this cast? service_name = str(nimmanager.getSatDescription(orbpos)) except: if unsigned_orbpos == 0xFFFF: #Cable service_name = _("Cable") elif unsigned_orbpos == 0xEEEE: #Terrestrial service_name = _("Terrestrial") else: if orbpos > 1800: # west orbpos = 3600 - orbpos h = _("W") else: h = _("E") service_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10) service.setName("%s - %s" % (service_name, service_type)) self.servicelist.addService(service) cur_ref = self.session.nav.getCurrentlyPlayingServiceReference() if cur_ref: pos = self.service_types.rfind(':') refstr = '%s (channelID == %08x%04x%04x) && %s ORDER BY name' %(self.service_types[:pos+1], cur_ref.getUnsignedData(4), # NAMESPACE cur_ref.getUnsignedData(2), # TSID cur_ref.getUnsignedData(3), # ONID self.service_types[pos+1:]) ref = eServiceReference(refstr) ref.setName(_("Current Transponder")) self.servicelist.addService(ref) self.servicelist.finishFill() if prev is not None: self.setCurrentSelection(prev)
def createSetup(self): self.tuneTimer.stop() self.list = [] self.multiscanlist = [] index_to_scan = int(self.scan_nims.value) self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims) self.list.append(self.tunerEntry) if self.scan_nims == []: return self.typeOfScanEntry = None self.systemEntry = None self.satelliteEntry = None self.modulationEntry = None self.scan_networkScan.value = False nim = nimmanager.nim_slots[index_to_scan] if nim.isCompatible("DVB-S"): self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type) self.list.append(self.typeOfScanEntry) if self.scan_type.value == "single_transponder": self.updateSatList() sat = self.satList[index_to_scan][ self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) if nim.isCompatible("DVB-S2"): self.systemEntry = getConfigListEntry( _('System'), self.scan_sat.system) self.list.append(self.systemEntry) else: self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S self.list.append( getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan])) self.list.append( getConfigListEntry(_('Frequency'), self.scan_sat.frequency)) self.list.append( getConfigListEntry(_('Inversion'), self.scan_sat.inversion)) self.list.append( getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate)) self.list.append( getConfigListEntry(_("Polarity"), self.scan_sat.polarization)) if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S: self.list.append( getConfigListEntry(_("FEC"), self.scan_sat.fec)) elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2: self.list.append( getConfigListEntry(_("FEC"), self.scan_sat.fec_s2)) self.modulationEntry = getConfigListEntry( _('Modulation'), self.scan_sat.modulation) self.list.append(self.modulationEntry) self.list.append( getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff)) self.list.append( getConfigListEntry(_('Pilot'), self.scan_sat.pilot)) elif self.scan_type.value == "predefined_transponder": self.updateSatList() self.satelliteEntry = getConfigListEntry( _('Satellite'), self.scan_satselection[index_to_scan]) self.list.append(self.satelliteEntry) sat = self.satList[index_to_scan][ self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) self.list.append( getConfigListEntry(_('Transponder'), self.scan_transponders)) elif self.scan_type.value == "single_satellite": self.updateSatList() sat = self.satList[index_to_scan][ self.scan_satselection[index_to_scan].index] self.updateTranspondersList(sat[0]) print self.scan_satselection[index_to_scan] self.list.append( getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan])) self.scan_networkScan.value = True elif self.scan_type.value == "multisat": tlist = [] SatList = nimmanager.getSatListForNim(index_to_scan) for x in SatList: if self.Satexists(tlist, x[0]) == 0: tlist.append(x[0]) sat = ConfigEnableDisable( default=self.scan_type.value.find("_yes") != -1 and True or False) configEntry = getConfigListEntry( nimmanager.getSatDescription(x[0]), sat) self.list.append(configEntry) self.multiscanlist.append((x[0], sat)) sat.addNotifier(self.retune, initial_call=False) self.scan_networkScan.value = True self.list.append( getConfigListEntry(_("Network scan"), self.scan_networkScan)) self.list.append( getConfigListEntry(_("Clear before scan"), self.scan_clearallservices)) self.list.append( getConfigListEntry(_("Only Free scan"), self.scan_onlyfree)) self["config"].list = self.list self["config"].l.setList(self.list)
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.Done else: self.state = self.Error self.errorcode = errcode self.network.setText("") self.transponder.setText("") else: self.text.setText(_("scan in progress - %d%% done!") % self.scan.getProgress() + ' ' + _("%d services found!") % (self.foundServices + self.scan.getNumServices())) transponder = self.scan.getCurrentTransponder() network = "" tp_text = "" if transponder: tp_type = transponder.getSystem() if tp_type == feSatellite: network = _("Satellite") tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = "" if orb_pos > 1800: # west orb_pos = 3600 - orb_pos h = _("W") else: h = _("E") if sat_name.find("%d.%d" % (orb_pos/10, orb_pos%10)) != -1: network = sat_name else: network = ("%s %d.%d %s") % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = ("%s %s %d%c / %d / %s") %( { tp.System_DVB_S : "DVB-S", tp.System_DVB_S2 : "DVB-S2", tp.System_DVB_S_S2 : "DVB-S/DVB-S2" }.get(tp.system, tp.System_DVB_S), { tp.Modulation_Auto : "Auto", tp.Modulation_QPSK : "QPSK", tp.Modulation_8PSK : "8PSK", tp.Modulation_16APSK : "16APSK", tp.Modulation_32APSK : "32APSK", tp.Modulation_QAM16 : "QAM16" }.get(tp.modulation, tp.Modulation_QPSK), tp.frequency/1000, { tp.Polarisation_Horizontal : 'H', tp.Polarisation_Vertical : 'V', tp.Polarisation_CircularLeft : 'L', tp.Polarisation_CircularRight : 'R' }.get(tp.polarisation, tp.Polarisation_Horizontal), tp.symbol_rate/1000, { tp.FEC_Auto : "AUTO", tp.FEC_1_2 : "1/2", tp.FEC_2_3 : "2/3", tp.FEC_3_4 : "3/4", tp.FEC_5_6 : "5/6", tp.FEC_7_8 : "7/8", tp.FEC_8_9 : "8/9", tp.FEC_3_5 : "3/5", tp.FEC_4_5 : "4/5", tp.FEC_9_10 : "9/10", tp.FEC_None : "NONE" }.get(tp.fec, tp.FEC_Auto)) elif tp_type == feCable: network = _("Cable") tp = transponder.getDVBC() tp_text = ("DVB-C %s %d / %d / %s") %( { tp.Modulation_Auto : "AUTO", tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM32 : "QAM32", tp.Modulation_QAM64 : "QAM64", tp.Modulation_QAM128 : "QAM128", tp.Modulation_QAM256 : "QAM256" }.get(tp.modulation, tp.Modulation_Auto), tp.frequency, tp.symbol_rate/1000, { tp.FEC_Auto : "AUTO", tp.FEC_1_2 : "1/2", tp.FEC_2_3 : "2/3", tp.FEC_3_4 : "3/4", tp.FEC_5_6 : "5/6", tp.FEC_7_8 : "7/8", tp.FEC_8_9 : "8/9", tp.FEC_None : "NONE" }.get(tp.fec_inner, tp.FEC_Auto)) elif tp_type == feTerrestrial: network = _("Terrestrial") tp = transponder.getDVBT() tp_text = ("%s %s %d %s") %( { tp.System_DVB_T : "DVB-T", tp.System_DVB_T2 : "DVB-T2", tp.System_DVB_T_T2: "DVB-T/DVB-T2" }.get(tp.system, tp.System_DVB_T), { tp.Modulation_QPSK : "QPSK", tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM64 : "QAM64", tp.Modulation_Auto : "AUTO", tp.Modulation_QAM256 : "QAM256" }.get(tp.modulation, tp.Modulation_Auto), tp.frequency, { tp.Bandwidth_8MHz : "Bw 8MHz", tp.Bandwidth_7MHz : "Bw 7MHz", tp.Bandwidth_6MHz : "Bw 6MHz", tp.Bandwidth_Auto : "Bw Auto", tp.Bandwidth_5MHz : "Bw 5MHz", tp.Bandwidth_1_712MHz : "Bw 1.712MHz", tp.Bandwidth_10MHz : "Bw 10MHz" }.get(tp.bandwidth, tp.Bandwidth_Auto)) else: print "unknown transponder type in scanStatusChanged" self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.Done: foundServices = self.scan and self.scan.getNumServices() or 0 if foundServices == 0: self.text.setText(_("scan done!") + ' ' + _("%d services found!") % 0 ) else: self.text.setText(_("scan done!") + ' ' + _("%d services found!") % (self.foundServices + self.scan.getNumServices())) if self.state == self.Error: self.text.setText(_("ERROR - failed to scan (%s)!") % (self.Errors[self.errorcode]) ) if self.state == self.Done or self.state == self.Error: foundServices = self.scan and self.scan.getNumServices() or 0 self.execEnd() if self.run != len(self.scanList) - 1: self.foundServices += foundServices self.run += 1 self.execBegin()
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary and self.lcd_summary.updateProgress( self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.Done self.servicelist.listAll() else: self.state = self.Error self.errorcode = errcode self.network.setText("") self.transponder.setText("") else: result = self.foundServices + self.scan.getNumServices() percentage = self.scan.getProgress() if percentage > 99: percentage = 99 # TRANSLATORS: The stb is performing a channel scan, progress percentage is printed in "%d" (and "%%" will show a single "%" symbol) message = ngettext("Scanning - %d%% completed.", "Scanning - %d%% completed.", percentage) % percentage message += "\n" # TRANSLATORS: Intermediate scanning result, "%d" channel(s) have been found so far message += ngettext("%d channel found.", "%d channels found.", result) % result self.text.setText(message) transponder = self.scan.getCurrentTransponder() network = "" tp_text = "" if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _("Satellite") tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = "" if orb_pos > 1800: # west orb_pos = 3600 - orb_pos h = _("W") else: h = _("E") if ("%d.%d" % (orb_pos / 10, orb_pos % 10)) in sat_name: network = sat_name else: network = "%s %d.%d %s" % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = { tp.System_DVB_S: "DVB-S", tp.System_DVB_S2: "DVB-S2" }.get(tp.system, "") if tp_text == "DVB-S2": tp_text = "%s %s" % (tp_text, { tp.Modulation_Auto: "Auto", tp.Modulation_QPSK: "QPSK", tp.Modulation_8PSK: "8PSK", tp.Modulation_QAM16: "QAM16", tp.Modulation_16APSK: "16APSK", tp.Modulation_32APSK: "32APSK" }.get(tp.modulation, "")) tp_text = "%s %d%c / %d / %s" % ( tp_text, tp.frequency / 1000, { tp.Polarisation_Horizontal: "H", tp.Polarisation_Vertical: "V", tp.Polarisation_CircularLeft: "L", tp.Polarisation_CircularRight: "R" }.get(tp.polarisation, " "), tp.symbol_rate / 1000, { tp.FEC_Auto: "AUTO", tp.FEC_1_2: "1/2", tp.FEC_2_3: "2/3", tp.FEC_3_4: "3/4", tp.FEC_5_6: "5/6", tp.FEC_7_8: "7/8", tp.FEC_8_9: "8/9", tp.FEC_3_5: "3/5", tp.FEC_4_5: "4/5", tp.FEC_9_10: "9/10", tp.FEC_None: "NONE" }.get(tp.fec, "")) if tp.is_id > -1 and tp.system == tp.System_DVB_S2: tp_text = ("%s IS %d") % (tp_text, tp.is_id) elif tp_type == iDVBFrontend.feCable: network = _("Cable") tp = transponder.getDVBC() tp_text = "DVB-C %s %d / %d / %s" % ( { tp.Modulation_Auto: "AUTO", tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM32: "QAM32", tp.Modulation_QAM64: "QAM64", tp.Modulation_QAM128: "QAM128", tp.Modulation_QAM256: "QAM256" }.get(tp.modulation, ""), tp.frequency, tp.symbol_rate / 1000, { tp.FEC_Auto: "AUTO", tp.FEC_1_2: "1/2", tp.FEC_2_3: "2/3", tp.FEC_3_4: "3/4", tp.FEC_5_6: "5/6", tp.FEC_7_8: "7/8", tp.FEC_8_9: "8/9", tp.FEC_3_5: "3/5", tp.FEC_4_5: "4/5", tp.FEC_9_10: "9/10", tp.FEC_None: "NONE" }.get(tp.fec_inner, "")) elif tp_type == iDVBFrontend.feTerrestrial: network = _("Terrestrial") tp = transponder.getDVBT() channel = getChannelNumber( tp.frequency, self.scanList[self.run]["feid"]) if channel: channel = _("CH") + "%s " % channel freqMHz = "%1.3f MHz" % (tp.frequency / 1000000.) tp_text = "%s %s %s %s" % ( { tp.System_DVB_T_T2: "DVB-T/T2", tp.System_DVB_T: "DVB-T", tp.System_DVB_T2: "DVB-T2" }.get(tp.system, ""), { tp.Modulation_QPSK: "QPSK", tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM64: "QAM64", tp.Modulation_Auto: "AUTO", tp.Modulation_QAM256: "QAM256" }.get(tp.modulation, ""), "%s%s" % (channel, freqMHz.replace("0.000", "")), { tp.Bandwidth_8MHz: "Bw 8MHz", tp.Bandwidth_7MHz: "Bw 7MHz", tp.Bandwidth_6MHz: "Bw 6MHz", tp.Bandwidth_Auto: "Bw Auto", tp.Bandwidth_5MHz: "Bw 5MHz", tp.Bandwidth_1_712MHz: "Bw 1.712MHz", tp.Bandwidth_10MHz: "Bw 10MHz" }.get(tp.bandwidth, "")) elif tp_type == iDVBFrontend.feATSC: network = _("ATSC") tp = transponder.getATSC() freqMHz = "%0.1f MHz" % (tp.frequency / 1000000.) tp_text = ("%s %s %s %s") % ( { tp.System_ATSC: _("ATSC"), tp.System_DVB_C_ANNEX_B: _("DVB-C ANNEX B") }.get(tp.system, ""), { tp.Modulation_Auto: _("Auto"), tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM32: "QAM32", tp.Modulation_QAM64: "QAM64", tp.Modulation_QAM128: "QAM128", tp.Modulation_QAM256: "QAM256", tp.Modulation_VSB_8: "8VSB", tp.Modulation_VSB_16: "16VSB" }.get(tp.modulation, ""), freqMHz.replace( ".0", ""), { tp.Inversion_Off: _("Off"), tp.Inversion_On: _("On"), tp.Inversion_Unknown: _("Auto") }.get(tp.inversion, "")) else: print "[ServiceScan] Unknown transponder type in scanStatusChanged" self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.Done: result = self.foundServices + self.scan.getNumServices() self.text.setText( ngettext("Scanning completed.\n%d channel found.", "Scanning completed.\n%d channels found.", result) % result) self.done_text.setText( _("Your scan is now complete.\nPlease press OK to continue.")) self.done_text.show() if self.state == self.Error: self.text.setText( _("ERROR: Failed to scan (%s)!") % (self.Errors[self.errorcode])) self.done_text.setText( _("ERROR: Failed to scan (%s)!") % (self.Errors[self.errorcode])) self.done_text.show() if self.state == self.Done or self.state == self.Error: if self.run != len(self.scanList) - 1: self.foundServices += self.scan.getNumServices() self.execEnd() self.run += 1 self.execBegin()
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.Done else: self.state = self.Error self.errorcode = errcode self.network.setText("") self.transponder.setText("") else: progress = self.scan.getProgress() if(progress > 99): progress = 99 self.text.setText(_("scan in progress - %d%% done!") % progress + ' ' + _("%d services found!") % (self.foundServices + self.scan.getNumServices())) transponder = self.scan.getCurrentTransponder() network = "" tp_text = "" if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _("Satellite") tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = "" if orb_pos > 1800: # west orb_pos = 3600 - orb_pos h = _("W") else: h = _("E") if sat_name.find("%d.%d" % (orb_pos/10, orb_pos%10)) != -1: network = sat_name else: network = ("%s %d.%d %s") % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = ("%s %s %d%c / %d / %s") %( { tp.System_DVB_S : "DVB-S", tp.System_DVB_S2 : "DVB-S2" }.get(tp.system, ""), { tp.Modulation_Auto : "Auto", tp.Modulation_QPSK : "QPSK", tp.Modulation_8PSK : "8PSK", tp.Modulation_QAM16 : "QAM16" }.get(tp.modulation, ""), tp.frequency/1000, { tp.Polarisation_Horizontal : 'H', tp.Polarisation_Vertical : 'V', tp.Polarisation_CircularLeft : 'L', tp.Polarisation_CircularRight : 'R' }.get(tp.polarisation, ' '), tp.symbol_rate/1000, { tp.FEC_Auto : "AUTO", tp.FEC_1_2 : "1/2", tp.FEC_2_3 : "2/3", tp.FEC_3_4 : "3/4", tp.FEC_5_6 : "5/6", tp.FEC_7_8 : "7/8", tp.FEC_8_9 : "8/9", tp.FEC_3_5 : "3/5", tp.FEC_4_5 : "4/5", tp.FEC_9_10 : "9/10", tp.FEC_None : "NONE" }.get(tp.fec, "")) elif tp_type == iDVBFrontend.feCable: network = _("Cable") tp = transponder.getDVBC() tp_text = ("DVB-C %s %d / %d / %s") %( { tp.Modulation_Auto : "AUTO", tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM32 : "QAM32", tp.Modulation_QAM64 : "QAM64", tp.Modulation_QAM128 : "QAM128", tp.Modulation_QAM256 : "QAM256" }.get(tp.modulation, ""), tp.frequency, tp.symbol_rate/1000, { tp.FEC_Auto : "AUTO", tp.FEC_1_2 : "1/2", tp.FEC_2_3 : "2/3", tp.FEC_3_4 : "3/4", tp.FEC_5_6 : "5/6", tp.FEC_7_8 : "7/8", tp.FEC_8_9 : "8/9", tp.FEC_6_7 : "6/7", tp.FEC_None : "NONE" }.get(tp.fec_inner, "")) elif tp_type == iDVBFrontend.feTerrestrial: network = _("Terrestrial") tp = transponder.getDVBT() tp_text = ("%s %s %d %s") %( { tp.System_DVB_T : "DVB-T", tp.System_DVB_T2 : "DVB-T2" }.get(tp.system, ""), { tp.Modulation_QPSK : "QPSK", tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM64 : "QAM64", tp.Modulation_Auto : "AUTO", tp.Modulation_QAM256 : "QAM256" }.get(tp.modulation, ""), tp.frequency, { tp.Bandwidth_8MHz : "Bw 8MHz", tp.Bandwidth_7MHz : "Bw 7MHz", tp.Bandwidth_6MHz : "Bw 6MHz", tp.Bandwidth_Auto : "Bw Auto", tp.Bandwidth_5MHz : "Bw 5MHz", tp.Bandwidth_1_712MHz : "Bw 1.712MHz", tp.Bandwidth_10MHz : "Bw 10MHz" }.get(tp.bandwidth, "")) else: print "unknown transponder type in scanStatusChanged" self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.Done: if self.scan.getNumServices() == 0: self.text.setText(_("scan done!") + ' ' + _("%d services found!") % 0 ) else: self.text.setText(_("scan done!") + ' ' + _("%d services found!") % (self.foundServices + self.scan.getNumServices())) if self.state == self.Error: self.text.setText(_("ERROR - failed to scan (%s)!") % (self.Errors[self.errorcode]) ) if self.state == self.Done or self.state == self.Error: if self.run != len(self.scanList) - 1: self.foundServices += self.scan.getNumServices() self.execEnd() self.run += 1 self.execBegin()
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.DonePartially self.servicelist.listAll() else: self.state = self.Error self.errorcode = errcode self.network.setText('') self.transponder.setText('') else: result = self.foundServices + self.scan.getNumServices() percentage = self.scan.getProgress() if percentage > 99: percentage = 99 message = ngettext('Scanning - %d%% completed', 'Scanning - %d%% completed', percentage) % percentage message += ', ' message += ngettext('%d channel found', '%d channels found', result) % result self.text.setText(message) transponder = self.scan.getCurrentTransponder() network = '' tp_text = '' if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _('Satellite') tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = '' if orb_pos > 1800: orb_pos = 3600 - orb_pos h = _('W') else: h = _('E') if '%d.%d' % (orb_pos / 10, orb_pos % 10) in sat_name: network = sat_name else: network = '%s %d.%d %s' % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = {tp.System_DVB_S: 'DVB-S', tp.System_DVB_S2: 'DVB-S2'}.get(tp.system, '') if tp_text == 'DVB-S2': tp_text = '%s %s' % (tp_text, {tp.Modulation_Auto: 'Auto', tp.Modulation_QPSK: 'QPSK', tp.Modulation_8PSK: '8PSK', tp.Modulation_QAM16: 'QAM16', tp.Modulation_16APSK: '16APSK', tp.Modulation_32APSK: '32APSK'}.get(tp.modulation, '')) tp_text = '%s %d%c / %d / %s' % (tp_text, tp.frequency / 1000, {tp.Polarisation_Horizontal: 'H', tp.Polarisation_Vertical: 'V', tp.Polarisation_CircularLeft: 'L', tp.Polarisation_CircularRight: 'R'}.get(tp.polarisation, ' '), tp.symbol_rate / 1000, {tp.FEC_Auto: 'AUTO', tp.FEC_1_2: '1/2', tp.FEC_2_3: '2/3', tp.FEC_3_4: '3/4', tp.FEC_3_5: '3/5', tp.FEC_4_5: '4/5', tp.FEC_5_6: '5/6', tp.FEC_6_7: '6/7', tp.FEC_7_8: '7/8', tp.FEC_8_9: '8/9', tp.FEC_9_10: '9/10', tp.FEC_None: 'NONE'}.get(tp.fec, '')) if tp.system == tp.System_DVB_S2: if tp.is_id > tp.No_Stream_Id_Filter: tp_text = '%s MIS %d' % (tp_text, tp.is_id) if tp.pls_code > 0: tp_text = '%s Gold %d' % (tp_text, tp.pls_code) if tp.t2mi_plp_id > tp.No_T2MI_PLP_Id: tp_text = '%s T2MI %d PID %d' % (tp_text, tp.t2mi_plp_id, tp.t2mi_pid) elif tp_type == iDVBFrontend.feCable: network = _('Cable') tp = transponder.getDVBC() tp_text = 'DVB-C %s %d / %d / %s' % ({tp.Modulation_Auto: 'AUTO', tp.Modulation_QAM16: 'QAM16', tp.Modulation_QAM32: 'QAM32', tp.Modulation_QAM64: 'QAM64', tp.Modulation_QAM128: 'QAM128', tp.Modulation_QAM256: 'QAM256'}.get(tp.modulation, ''), tp.frequency, tp.symbol_rate / 1000, {tp.FEC_Auto: 'AUTO', tp.FEC_1_2: '1/2', tp.FEC_2_3: '2/3', tp.FEC_3_4: '3/4', tp.FEC_3_5: '3/5', tp.FEC_4_5: '4/5', tp.FEC_5_6: '5/6', tp.FEC_6_7: '6/7', tp.FEC_7_8: '7/8', tp.FEC_8_9: '8/9', tp.FEC_9_10: '9/10', tp.FEC_None: 'NONE'}.get(tp.fec_inner, '')) elif tp_type == iDVBFrontend.feTerrestrial: network = _('Terrestrial') tp = transponder.getDVBT() channel = channelnumbers.getChannelNumber(tp.frequency, self.scanList[self.run]['feid']) if channel: channel = _('CH') + '%s ' % channel freqMHz = '%0.1f MHz' % (tp.frequency / 1000000.0) tp_text = '%s %s %s %s' % ({tp.System_DVB_T_T2: 'DVB-T/T2', tp.System_DVB_T: 'DVB-T', tp.System_DVB_T2: 'DVB-T2'}.get(tp.system, ''), {tp.Modulation_QPSK: 'QPSK', tp.Modulation_QAM16: 'QAM16', tp.Modulation_QAM64: 'QAM64', tp.Modulation_Auto: 'AUTO', tp.Modulation_QAM256: 'QAM256'}.get(tp.modulation, ''), '%s%s' % (channel, freqMHz.replace('.0', '')), {tp.Bandwidth_8MHz: 'Bw 8MHz', tp.Bandwidth_7MHz: 'Bw 7MHz', tp.Bandwidth_6MHz: 'Bw 6MHz', tp.Bandwidth_Auto: 'Bw Auto', tp.Bandwidth_5MHz: 'Bw 5MHz', tp.Bandwidth_1_712MHz: 'Bw 1.712MHz', tp.Bandwidth_10MHz: 'Bw 10MHz'}.get(tp.bandwidth, '')) elif tp_type == iDVBFrontend.feATSC: network = _('ATSC') tp = transponder.getATSC() freqMHz = '%0.1f MHz' % (tp.frequency / 1000000.0) tp_text = '%s %s %s %s' % ({tp.System_ATSC: _('ATSC'), tp.System_DVB_C_ANNEX_B: _('DVB-C ANNEX B')}.get(tp.system, ''), {tp.Modulation_Auto: _('Auto'), tp.Modulation_QAM16: 'QAM16', tp.Modulation_QAM32: 'QAM32', tp.Modulation_QAM64: 'QAM64', tp.Modulation_QAM128: 'QAM128', tp.Modulation_QAM256: 'QAM256', tp.Modulation_VSB_8: '8VSB', tp.Modulation_VSB_16: '16VSB'}.get(tp.modulation, ''), freqMHz.replace('.0', ''), {tp.Inversion_Off: _('Off'), tp.Inversion_On: _('On'), tp.Inversion_Unknown: _('Auto')}.get(tp.inversion, '')) else: print 'unknown transponder type in scanStatusChanged' self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.DonePartially: self.foundServices += self.scan.getNumServices() self.text.setText(ngettext('Scanning completed, %d channel found', 'Scanning completed, %d channels found', self.foundServices) % self.foundServices) if self.state == self.Error: self.text.setText(_('ERROR - failed to scan (%s)!') % self.Errors[self.errorcode]) if self.state == self.DonePartially or self.state == self.Error: self.delaytimer.start(100, True)
def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) self.lcd_summary.updateProgress(self.scan.getProgress()) if self.scan.isDone(): errcode = self.scan.getError() if errcode == 0: self.state = self.Done self.servicelist.listAll() else: self.state = self.Error self.errorcode = errcode self.network.setText("") self.transponder.setText("") else: result = self.foundServices + self.scan.getNumServices() percentage = self.scan.getProgress() if percentage > 99: percentage = 99 #TRANSLATORS: The stb is performing a channel scan, progress percentage is printed in '%d' (and '%%' will show a single '%' symbol) message = ngettext("Scanning - %d%% completed", "Scanning - %d%% completed", percentage) % percentage message += ", " #TRANSLATORS: Intermediate scanning result, '%d' channel(s) have been found so far message += ngettext("%d channel found", "%d channels found", result) % result self.text.setText(message) transponder = self.scan.getCurrentTransponder() network = "" tp_text = "" if transponder: tp_type = transponder.getSystem() if tp_type == iDVBFrontend.feSatellite: network = _("Satellite") tp = transponder.getDVBS() orb_pos = tp.orbital_position try: sat_name = str(nimmgr.getSatDescription(orb_pos)) except KeyError: sat_name = "" if orb_pos > 1800: # west orb_pos = 3600 - orb_pos h = _("W") else: h = _("E") if ("%d.%d" % (orb_pos / 10, orb_pos % 10)) in sat_name: network = sat_name else: network = "%s %d.%d %s" % (sat_name, orb_pos / 10, orb_pos % 10, h) tp_text = { tp.System_DVB_S: "DVB-S", tp.System_DVB_S2: "DVB-S2" }.get(tp.system, "") if tp_text == "DVB-S2": tp_text = "%s %s" % (tp_text, { tp.Modulation_Auto: "Auto", tp.Modulation_QPSK: "QPSK", tp.Modulation_8PSK: "8PSK", tp.Modulation_QAM16: "QAM16" }.get(tp.modulation, "")) tp_text = "%s %d%c / %d / %s" % ( tp_text, tp.frequency / 1000, { tp.Polarisation_Horizontal: 'H', tp.Polarisation_Vertical: 'V', tp.Polarisation_CircularLeft: 'L', tp.Polarisation_CircularRight: 'R' }.get(tp.polarisation, ' '), tp.symbol_rate / 1000, { tp.FEC_Auto: "AUTO", tp.FEC_1_2: "1/2", tp.FEC_2_3: "2/3", tp.FEC_3_4: "3/4", tp.FEC_5_6: "5/6", tp.FEC_7_8: "7/8", tp.FEC_8_9: "8/9", tp.FEC_3_5: "3/5", tp.FEC_4_5: "4/5", tp.FEC_9_10: "9/10", tp.FEC_None: "NONE" }.get(tp.fec, "")) elif tp_type == iDVBFrontend.feCable: network = _("Cable") tp = transponder.getDVBC() tp_text = ("DVB-C/C2 %s %d MHz / SR:%d / FEC:%s") % ( { tp.Modulation_Auto: "AUTO", tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM32: "QAM32", tp.Modulation_QAM64: "QAM64", tp.Modulation_QAM128: "QAM128", tp.Modulation_QAM256: "QAM256" }.get(tp.modulation, ""), tp.frequency / 1000, tp.symbol_rate / 1000, { tp.FEC_Auto: "AUTO", tp.FEC_1_2: "1/2", tp.FEC_2_3: "2/3", tp.FEC_3_4: "3/4", tp.FEC_5_6: "5/6", tp.FEC_7_8: "7/8", tp.FEC_8_9: "8/9", tp.FEC_3_5: "3/5", tp.FEC_4_5: "4/5", tp.FEC_9_10: "9/10", tp.FEC_None: "NONE" }.get(tp.fec_inner, "")) elif tp_type == iDVBFrontend.feTerrestrial: network = _("Terrestrial") tp = transponder.getDVBT() channel = channelnumbers.getChannelNumber( tp.frequency, self.scanList[self.run]["feid"]) if channel: channel = _("CH") + "%s " % channel freqMHz = "%0.1f MHz" % (tp.frequency / 1000000.) tp_text = "%s %s %s %s" % ( { tp.System_DVB_T_T2: "DVB-T/T2", tp.System_DVB_T: "DVB-T", tp.System_DVB_T2: "DVB-T2" }.get(tp.system, ""), { tp.Modulation_QPSK: "QPSK", tp.Modulation_QAM16: "QAM16", tp.Modulation_QAM64: "QAM64", tp.Modulation_Auto: "AUTO", tp.Modulation_QAM256: "QAM256" }.get(tp.modulation, ""), "%s%s" % (channel, freqMHz.replace(".0", "")), { tp.Bandwidth_8MHz: "Bw 8MHz", tp.Bandwidth_7MHz: "Bw 7MHz", tp.Bandwidth_6MHz: "Bw 6MHz", tp.Bandwidth_Auto: "Bw Auto", tp.Bandwidth_5MHz: "Bw 5MHz", tp.Bandwidth_1_712MHz: "Bw 1.712MHz", tp.Bandwidth_10MHz: "Bw 10MHz" }.get(tp.bandwidth, "")) else: print "unknown transponder type in scanStatusChanged" self.network.setText(network) self.transponder.setText(tp_text) if self.state == self.Done: result = self.foundServices + self.scan.getNumServices() self.text.setText( ngettext("Scanning completed, %d channel found", "Scanning completed, %d channels found", result) % result) if self.state == self.Error: self.text.setText( _("ERROR - failed to scan (%s)!") % (self.Errors[self.errorcode])) if self.state == self.Done or self.state == self.Error: if self.run != len(self.scanList) - 1: self.foundServices += self.scan.getNumServices() self.execEnd() self.run += 1 self.execBegin()