示例#1
0
	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()
示例#2
0
    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
示例#3
0
 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
示例#4
0
    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?"))
示例#5
0
	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?"))
示例#6
0
    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 ''
示例#7
0
    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
示例#8
0
    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()
示例#9
0
    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
示例#10
0
    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
示例#11
0
	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 ""
示例#13
0
    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 ""
示例#15
0
文件: Satconfig.py 项目: TitanNit/tdt
	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()
示例#16
0
    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)
示例#17
0
文件: plugin.py 项目: OpenDMM/enigma2
	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)
示例#18
0
    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
示例#19
0
文件: plugin.py 项目: hd75hd/enigma2
	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
示例#20
0
 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}
示例#22
0
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 }
示例#23
0
	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
示例#24
0
    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()
示例#25
0
	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 ""
示例#27
0
    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()
示例#28
0
    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
示例#29
0
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)
示例#31
0
	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)
示例#32
0
	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)
示例#33
0
    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()
示例#34
0
	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()
示例#35
0
    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)
示例#36
0
	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)
示例#37
0
	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)
示例#38
0
	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)
示例#39
0
    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)
示例#40
0
	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()
示例#41
0
    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()
示例#42
0
	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()
示例#43
0
    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)
示例#44
0
    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()