Exemple #1
0
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if self.type == self.NAME:
         name = ref and info.getName(ref)
         if name is None:
             name = info.getName()
         return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
     elif self.type == self.PROVIDER:
         return info.getInfoString(iServiceInformation.sProvider)
     elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(
             self.source, "editmode") and self.source.editmode:
         if not ref:
             return info.getInfoString(iServiceInformation.sServiceref)
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
         return ref.toString()
     elif self.type == self.TRANSPONDER:
         if ref:
             nref = resolveAlternate(ref)
             if nref:
                 ref = nref
                 info = eServiceCenter.getInstance().info(ref)
             transponder_info = info.getInfoObject(
                 ref, iServiceInformation.sTransponderData)
         else:
             transponder_info = info.getInfoObject(
                 iServiceInformation.sTransponderData)
         if "InRootOnly" in self.mode and not self.rootBouquet():
             return ""
         if "NoRoot" in self.mode and self.rootBouquet():
             return ""
         if transponder_info:
             self.t_info = ConvertToHumanReadable(transponder_info)
             if "DVB-T" in self.system():
                 return self.dvb_t()
             elif "DVB-C" in self.system():
                 return self.dvb_c()
             return self.dvb_s()
         if ref:
             result = ref.toString()
         else:
             result = info.getInfoString(iServiceInformation.sServiceref)
         if "%3a//" in result:
             return result.rsplit("%3a//", 1)[1].split("/")[0]
         return ""
Exemple #2
0
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""
		if self.type == self.NAME or self.type == self.NAME_ONLY:
			if self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.getValue() and hasattr(self.source, "serviceref") and self.source.serviceref.toString().find('0:0:0:0:0:0:0:0:0') == -1:
				name = ref and info.getName(ref)
				numservice = self.source.serviceref
				num = numservice and numservice.getChannelNum() or None
				if name is None:
					name = info.getName()
				if num is not None:
					return str(num) + '   ' + name.replace('\xc2\x86', '').replace('\xc2\x87', '')
				else:
					return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
			else:
				name = ref and info.getName(ref)
				if name is None:
					name = info.getName()
				return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
		elif self.type == self.PROVIDER:
			return info.getInfoString(iServiceInformation.sProvider)
		elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
			if not ref:
				return info.getInfoString(iServiceInformation.sServiceref)
			nref = resolveAlternate(ref)
			if nref:
				ref = nref
			return ref.toString()
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if self.type == self.NAME:
         name = ref and info.getName(ref)
         if name is None:
             name = info.getName()
         return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
     elif self.type == self.PROVIDER:
         return info.getInfoString(iServiceInformation.sProvider)
     elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(
             self.source, "editmode") and self.source.editmode:
         if not ref:
             return info.getInfoString(iServiceInformation.sServiceref)
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
         return ref.toString()
     elif self.type == self.NUMBER:
         if not ref:
             ref = eServiceReference(
                 info.getInfoString(iServiceInformation.sServiceref))
         num = ref and ref.getChannelNum() or None
         if num is None:
             num = '---'
         else:
             num = str(num)
         return num
Exemple #4
0
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""
		if self.type == self.NAME:
			name = ref and info.getName(ref)
			if name is None:
				name = info.getName()
			return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
		elif self.type == self.PROVIDER:
			return info.getInfoString(iServiceInformation.sProvider)
		elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
			if not ref:
				return info.getInfoString(iServiceInformation.sServiceref)
			nref = resolveAlternate(ref)
			if nref:
				ref = nref
			return ref.toString()
		elif self.type == self.NUMBER:
			if not ref:
				ref = eServiceReference(info.getInfoString(iServiceInformation.sServiceref))
			num = ref and ref.getChannelNum() or None
			if num is None:
				num = '---'
			else:
				num = str(num)
			return num
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if ref:
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
             info = eServiceCenter.getInstance().info(ref)
         transponderraw = info.getInfoObject(ref, iServiceInformation.sTransponderData)
     else:
         transponderraw = info.getInfoObject(iServiceInformation.sTransponderData)
     if "InRootOnly" in self.type and not self.rootBouquet():
         return ""
     if "NoRoot" in self.type and self.rootBouquet():
         return ""
     if transponderraw:
         transponderdata = ConvertToHumanReadable(transponderraw)
         if not transponderdata["system"]:
             transponderdata["system"] = transponderraw.get("tuner_type", "None")
         if not transponderdata["system"]:
             return ""
         if "DVB-T" in transponderdata["system"]:
             return "%s %s %d MHz %s" % (
                 transponderdata["system"],
                 transponderdata["channel"],
                 transponderdata["frequency"] / 1000000 + 0.5,
                 transponderdata["bandwidth"],
             )
         elif "DVB-C" in transponderdata["system"]:
             return "%s %d MHz %d %s %s" % (
                 transponderdata["system"],
                 transponderdata["frequency"] / 1000 + 0.5,
                 transponderdata["symbol_rate"] / 1000 + 0.5,
                 transponderdata["fec_inner"],
                 transponderdata["modulation"],
             )
         return "%s %d %s %d %s %s %s" % (
             transponderdata["system"],
             transponderdata["frequency"] / 1000 + 0.5,
             transponderdata["polarization_abbreviation"],
             transponderdata["symbol_rate"] / 1000 + 0.5,
             transponderdata["fec_inner"],
             transponderdata["modulation"],
             transponderdata["detailed_satpos" in self.type and "orbital_position" or "orb_pos"],
         )
     if ref:
         result = ref.toString()
     else:
         result = info.getInfoString(iServiceInformation.sServiceref)
     if "%3a//" in result:
         return _("Stream") + " " + result.rsplit("%3a//", 1)[1].split("/")[0]
     return ""
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if self.type == self.NAME:
         name = ref and info.getName(ref)
         if name is None:
             name = info.getName()
         return name.replace("\xc2\x86", "").replace("\xc2\x87", "")
     elif self.type == self.PROVIDER:
         return info.getInfoString(iServiceInformation.sProvider)
     elif (
         self.type == self.REFERENCE
         or self.type == self.EDITREFERENCE
         and hasattr(self.source, "editmode")
         and self.source.editmode
     ):
         if not ref:
             return info.getInfoString(iServiceInformation.sServiceref)
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
         return ref.toString()
     # j00zek conditional name
     elif self.type == self.CONDITIONALNAME:
         if not ref:
             nref = info.getInfoString(iServiceInformation.sServiceref)
         else:
             nref = resolveAlternate(ref)
         if nref:
             if pathExists(
                 resolveFilename(SCOPE_SKIN_IMAGE, "picon/" + "_".join(nref.split(":", 10)[:10]) + ".png")
             ):
                 return ""
         name = ref and info.getName(ref)
         if name is None:
             name = info.getName()
             name = name.replace("\xc2\x86", "").replace("\xc2\x87", "")
         print("[CONDITIONALNAME] no picon for %s (%s)" % (name, nref))
         return name
Exemple #7
0
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""

		if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
			name = ref and info.getName(ref)
			if name is None:
				name = info.getName()
			name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
			if self.type == self.NAME_EVENT:
				act_event = info and info.getEvent(0)
				if not act_event and info:
					refstr = info.getInfoString(iServiceInformation.sServiceref)
					act_event = self.epgQuery(eServiceReference(refstr), -1, 0)
				if act_event is None:
					return "%s - " % name
				else:
					return "%s - %s" % (name, act_event.getEventName())
			elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.getValue() and hasattr(self.source, "serviceref") and self.source.serviceref.toString().find('0:0:0:0:0:0:0:0:0') == -1:
				numservice = self.source.serviceref
				num = numservice and numservice.getChannelNum() or None
				if num is not None:
					return str(num) + '   ' + name
				else:
					return name
			else:
				return name
		elif self.type == self.PROVIDER:
			return info.getInfoString(iServiceInformation.sProvider)
		elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
			if not ref:
				return info.getInfoString(iServiceInformation.sServiceref)
			nref = resolveAlternate(ref)
			if nref:
				ref = nref
			return ref.toString()
		elif self.type == self.SID:
			if ref is None:
				tmpref = info.getInfoString(iServiceInformation.sServiceref)
			else:
				tmpref = ref.toString()

			if tmpref:
				refsplit = tmpref.split(':')
				if len(refsplit) >= 3: 
					return refsplit[3]
				else:
					return tmpref
			else:
				return 'N/A'			
Exemple #8
0
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""

		if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
			name = ref and info.getName(ref)
			if name is None:
				name = info.getName()
			name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
			if self.type == self.NAME_EVENT:
				act_event = info and info.getEvent(0)
				if not act_event and info:
					refstr = info.getInfoString(iServiceInformation.sServiceref)
					act_event = self.epgQuery(eServiceReference(refstr), -1, 0)
				if act_event is None:
					return "%s - " % name
				else:
					return "%s - %s" % (name, act_event.getEventName())
			elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.getValue() and hasattr(self.source, "serviceref") and '0:0:0:0:0:0:0:0:0' not in self.source.serviceref.toString():
				numservice = self.source.serviceref
				num = numservice and numservice.getChannelNum() or None
				if num is not None:
					return str(num) + '   ' + name
				else:
					return name
			else:
				return name
		elif self.type == self.PROVIDER:
			return info.getInfoString(iServiceInformation.sProvider)
		elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
			if not ref:
				return info.getInfoString(iServiceInformation.sServiceref)
			nref = resolveAlternate(ref)
			if nref:
				ref = nref
			return ref.toString()
		elif self.type == self.SID:
			if ref is None:
				tmpref = info.getInfoString(iServiceInformation.sServiceref)
			else:
				tmpref = ref.toString()

			if tmpref:
				refsplit = tmpref.split(':')
				if len(refsplit) >= 3: 
					return refsplit[3]
				else:
					return tmpref
			else:
				return 'N/A'			
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if self.type == self.NAME:
         name = ref and info.getName(ref)
         if name is None:
             name = info.getName()
         return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
     elif self.type == self.PROVIDER:
         return info.getInfoString(iServiceInformation.sProvider)
     elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(
             self.source, "editmode") and self.source.editmode:
         if not ref:
             return info.getInfoString(iServiceInformation.sServiceref)
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
         return ref.toString()
     #j00zek conditional name
     elif self.type == self.CONDITIONALNAME:
         if not ref:
             nref = info.getInfoString(iServiceInformation.sServiceref)
         else:
             nref = resolveAlternate(ref)
         if nref:
             if pathExists(
                     resolveFilename(
                         SCOPE_SKIN_IMAGE, 'picon/' +
                         '_'.join(nref.split(':', 10)[:10]) + '.png')):
                 return ""
         name = ref and info.getName(ref)
         if name is None:
             name = info.getName()
             name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
         print("[CONDITIONALNAME] no picon for %s (%s)" % (name, nref))
         return name
Exemple #10
0
    def getText(self):
        service = self.source.service
        info = None
        if isinstance(service, eServiceReference):
            info = self.source.info
        elif isinstance(service, iPlayableServicePtr):
            info = service and service.info()
            service = None

        if not info:
            return ""

        if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
            name = service and info.getName(service)
            if name is None:
                name = info.getName()
            name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
            if self.type == self.NAME_EVENT:
                act_event = info and info.getEvent(0)
                if not act_event and info:
                    refstr = info.getInfoString(
                        iServiceInformation.sServiceref)
                    act_event = self.epgQuery(eServiceReference(refstr), -1, 0)
                if act_event is None:
                    return "%s - " % name
                else:
                    return "%s - %s" % (name, act_event.getEventName())
            elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.value and hasattr(
                    self.source, "serviceref"
            ) and self.source.serviceref and '0:0:0:0:0:0:0:0:0' not in self.source.serviceref.toString(
            ):
                numservice = self.source.serviceref
                num = numservice and numservice.getChannelNum() or None
                if num is not None:
                    return str(num) + '   ' + name
                else:
                    return name
            else:
                return name
        elif self.type == self.PROVIDER:
            return info.getInfoString(iServiceInformation.sProvider)
        elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(
                self.source, "editmode") and self.source.editmode:
            if not service:
                refstr = info.getInfoString(iServiceInformation.sServiceref)
                path = refstr and eServiceReference(refstr).getPath()
                if path and fileExists("%s.meta" % path):
                    fd = open("%s.meta" % path, "r")
                    refstr = fd.readline().strip()
                    fd.close()
                return refstr
            nref = resolveAlternate(service)
            if nref:
                service = nref
            return service.toString()
Exemple #11
0
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if ref:
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
             info = eServiceCenter.getInstance().info(ref)
         transponderraw = info.getInfoObject(
             ref, iServiceInformation.sTransponderData)
         ref = ref.toString().replace("%3a", ":")
     else:
         transponderraw = info.getInfoObject(
             iServiceInformation.sTransponderData)
         ref = info.getInfoString(iServiceInformation.sServiceref)
     if "InRootOnly" in self.type and not self.rootBouquet():
         return ""
     if "NoRoot" in self.type and self.rootBouquet():
         return ""
     if transponderraw:
         transponderdata = ConvertToHumanReadable(transponderraw)
         # retreive onid and tsid from service reference
         [onid, tsid] = [int(x, 16) for x in ref.split(':')[4:6]]
         if not transponderdata["system"]:
             transponderdata["system"] = transponderraw.get(
                 "tuner_type", "None")
         try:
             if "DVB-T" in transponderdata["system"]:
                 return "%s %s-%s %s %d MHz %s" % (
                     transponderdata["system"], tsid, onid,
                     transponderdata["channel"],
                     transponderdata["frequency"] / 1000000 + 0.5,
                     transponderdata["bandwidth"])
             elif "DVB-C" in transponderdata["system"]:
                 return "%s %s-%s %d MHz %d %s %s" % (transponderdata["system"], tsid, onid, transponderdata["frequency"]/1000 + 0.5, transponderdata["symbol_rate"]/1000 + 0.5, transponderdata["fec_inner"], \
                  transponderdata["modulation"])
             elif "ATSC" in transponderdata["system"]:
                 return "%s %s-%s %d MHz %s" % (
                     transponderdata["system"], tsid, onid,
                     transponderdata["frequency"] / 1000 + 0.5,
                     transponderdata["modulation"])
             return "%s %s-%s %d %s %d %s %s %s" % (transponderdata["system"], tsid, onid, transponderdata["frequency"]/1000 + 0.5, transponderdata["polarization_abbreviation"], transponderdata["symbol_rate"]/1000 + 0.5, \
              transponderdata["fec_inner"], transponderdata["modulation"], transponderdata["detailed_satpos" in self.type and "orbital_position" or "orb_pos"])
         except:
             return ""
     if "://" in ref:
         return _("Stream") + " " + ref.rsplit("://", 1)[1].split("/")[0]
     return ""
Exemple #12
0
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:
         info = service and self.source.info
         ref = service
     if not info:
         return ''
     if ref:
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
             info = eServiceCenter.getInstance().info(ref)
         transponderraw = info.getInfoObject(ref, iServiceInformation.sTransponderData)
     else:
         transponderraw = info.getInfoObject(iServiceInformation.sTransponderData)
     if 'InRootOnly' in self.type and not self.rootBouquet():
         return ''
     elif 'NoRoot' in self.type and self.rootBouquet():
         return ''
     elif transponderraw:
         transponderdata = ConvertToHumanReadable(transponderraw)
         if not transponderdata['system']:
             transponderdata['system'] = transponderraw.get('tuner_type', 'None')
         if not transponderdata['system']:
             return ''
         if 'DVB-T' in transponderdata['system']:
             return '%s %s %s %s' % (transponderdata['system'],
              transponderdata['channel'],
              transponderdata['frequency'],
              transponderdata['bandwidth'])
         if 'DVB-C' in transponderdata['system']:
             return '%s %s %s %s %s' % (transponderdata['system'],
              transponderdata['frequency'],
              transponderdata['symbol_rate'],
              transponderdata['fec_inner'],
              transponderdata['modulation'])
         return '%s %s %s %s %s %s %s' % (transponderdata['system'],
          transponderdata['frequency'],
          transponderdata['polarization_abbreviation'],
          transponderdata['symbol_rate'],
          transponderdata['fec_inner'],
          transponderdata['modulation'],
          transponderdata['detailed_satpos' in self.type and 'orbital_position' or 'orb_pos'])
     if ref:
         result = ref.toString()
     else:
         result = info.getInfoString(iServiceInformation.sServiceref)
     if '%3a//' in result:
         return _('Stream') + ' ' + result.rsplit('%3a//', 1)[1].split('/')[0]
     else:
         return ''
Exemple #13
0
	def getText(self):
		service = self.source.service
		info = None
		if isinstance(service, eServiceReference):
			info = self.source.info
		elif isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			service = None

		if not info:
			return ""

		if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
			name = service and info.getName(service)
			if name is None:
				name = info.getName()
			name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
			if self.type == self.NAME_EVENT:
				act_event = info and info.getEvent(0)
				if not act_event and info:
					refstr = info.getInfoString(iServiceInformation.sServiceref)
					act_event = self.epgQuery(eServiceReference(refstr), -1, 0)
				if act_event is None:
					return "%s - " % name
				else:
					return "%s - %s" % (name, act_event.getEventName())
			elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.value and hasattr(self.source, "serviceref") and '0:0:0:0:0:0:0:0:0' not in self.source.serviceref.toString():
				numservice = self.source.serviceref
				num = numservice and numservice.getChannelNum() or None
				if num is not None:
					return str(num) + '   ' + name
				else:
					return name
			else:
				return name
		elif self.type == self.PROVIDER:
			return info.getInfoString(iServiceInformation.sProvider)
		elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
			if not service:
				refstr = info.getInfoString(iServiceInformation.sServiceref)
				path = refstr and eServiceReference(refstr).getPath()
				if path and fileExists("%s.meta" % path):
					fd = open("%s.meta" % path, "r")
					refstr = fd.readline().strip()
					fd.close()
				return refstr
			nref = resolveAlternate(service)
			if nref:
				service = nref
			return service.toString()
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if ref:
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
             info = eServiceCenter.getInstance().info(ref)
         transponderraw = info.getInfoObject(
             ref, iServiceInformation.sTransponderData)
     else:
         transponderraw = info.getInfoObject(
             iServiceInformation.sTransponderData)
     if "InRootOnly" in self.type and not self.rootBouquet():
         return ""
     if "NoRoot" in self.type and self.rootBouquet():
         return ""
     if transponderraw:
         transponderdata = ConvertToHumanReadable(transponderraw)
         if not transponderdata:
             return ""
         if "DVB-T" in transponderdata["system"]:
             return "%s %s %d MHz %s" % (
                 "DVB-T", transponderdata["channel"],
                 transponderdata["frequency"] / 1000000 + 0.5,
                 transponderdata["bandwidth"])
         elif "DVB-C" in transponderdata["system"]:
             return "%s %d MHz %d %s %s" % ("DVB-C", transponderdata["frequency"]/1000 + 0.5, transponderdata["symbol_rate"]/1000 + 0.5, transponderdata["fec_inner"], \
              transponderdata["modulation"])
         return "%s %d %s %d %s %s %s" % (transponderdata["system"], transponderdata["frequency"]/1000 + 0.5, transponderdata["polarization_abbreviation"], transponderdata["symbol_rate"]/1000 + 0.5, \
          transponderdata["fec_inner"], transponderdata["modulation"], transponderdata["detailed_satpos" in self.type and "orbital_position" or "orb_pos"])
     if ref:
         result = ref.toString()
     else:
         result = info.getInfoString(iServiceInformation.sServiceref)
     if "%3a//" in result:
         return _("Stream") + " " + result.rsplit("%3a//",
                                                  1)[1].split("/")[0]
     return ""
    def getText(self):
        service = self.source.service
        if isinstance(service, iPlayableServicePtr):
            info = service and service.info()
            ref = None
        else:
            info = service and self.source.info
            ref = service
        if not info:
            return ''
        else:
            if ref:
                nref = resolveAlternate(ref)
                if nref:
                    ref = nref
                    info = eServiceCenter.getInstance().info(ref)
                transponder_info = info.getInfoObject(
                    ref, iServiceInformation.sTransponderData)
            else:
                transponder_info = info.getInfoObject(
                    iServiceInformation.sTransponderData)
            if transponder_info:
                tunerType = transponder_info['tuner_type']
                if tunerType == 'DVB-S':
                    pos = int(transponder_info['orbital_position'])
                    direction = 'E'
                    if pos > 1800:
                        pos = 3600 - pos
                        direction = 'W'
                    if self.type == self.SHORT:
                        return '%d.%d%s' % (pos / 10, pos % 10, direction)
                    else:
                        return '%d.%d\xc2\xb0 %s' % (pos / 10, pos % 10,
                                                     direction)

                return tunerType
            if ref:
                refString = ref.toString().lower()
                if '%3a//' in refString:
                    return _('Stream')
                if refString.startswith('1:134:'):
                    return _('Alternative')
            return ''
Exemple #16
0
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""
		if ref:
			nref = resolveAlternate(ref)
			if nref:
				ref = nref
				info = eServiceCenter.getInstance().info(ref)
			transponderraw = info.getInfoObject(ref, iServiceInformation.sTransponderData)
			ref = ref.toString().replace("%3a",":")
		else:
			transponderraw = info.getInfoObject(iServiceInformation.sTransponderData)
			ref = info.getInfoString(iServiceInformation.sServiceref)
		if transponderraw:
			transponderdata = ConvertToHumanReadable(transponderraw)
			# retreive onid and tsid from service reference
			[onid, tsid] = [int(x, 16) for x in ref.split(':')[4:6]]
			if not transponderdata["system"]:
				transponderdata["system"] = transponderraw.get("tuner_type", "None")
			try:
				if "DVB-T" in transponderdata["system"]:
					return "%s %s %s %s %s-%s" % (transponderdata["system"], transponderdata["channel"], transponderdata["frequency"], transponderdata["bandwidth"], tsid, onid)
				elif "DVB-C" in transponderdata["system"]:
					return "%s %s %s %s %s %s-%s" % (transponderdata["system"], transponderdata["frequency"], transponderdata["symbol_rate"], transponderdata["fec_inner"], tsid, onid, \
						transponderdata["modulation"])
				elif "ATSC" in transponderdata["system"]:
					return "%s %s %s %s-%s" % (transponderdata["system"], transponderdata["frequency"], transponderdata["modulation"], tsid, onid)
				return "%s %s %s %s %s %s %s-%s %s" % (transponderdata["system"], transponderdata["frequency"], transponderdata["polarization_abbreviation"], transponderdata["symbol_rate"], \
 					transponderdata["fec_inner"], transponderdata["modulation"], tsid, onid, transponderdata["detailed_satpos" in self.type and "orbital_position" or "orb_pos"])
			except:
				return ""
		if "@" in ref:
			return _("Stream") + " " + ref.rsplit("@", 1)[1].split("/")[0]
		elif "://" in ref:
			return _("Stream") + " " + ref.rsplit("://", 1)[1].split("/")[0]
 		return ""
Exemple #17
0
    def getText(self):
        service = self.source.service
        if isinstance(service, iPlayableServicePtr):
            info = service and service.info()
            ref = None
        else:  # reference
            info = service and self.source.info
            ref = service
        if not info:
            return ""
        if ref:
            nref = resolveAlternate(ref)
            if nref:
                ref = nref
                info = eServiceCenter.getInstance().info(ref)
            transponder_info = info.getInfoObject(
                ref, iServiceInformation.sTransponderData)
        else:
            transponder_info = info.getInfoObject(
                iServiceInformation.sTransponderData)

        if transponder_info:
            tunerType = transponder_info["tuner_type"]
            if tunerType == "DVB-S":
                pos = int(transponder_info["orbital_position"])
                direction = 'E'
                if pos > 1800:
                    pos = 3600 - pos
                    direction = 'W'
                if self.type == self.SHORT:
                    return "%d.%d%s" % (pos / 10, pos % 10, direction)
                else:
                    return "%d.%d%s %s" % (pos / 10, pos % 10, u"\u00B0",
                                           direction)
            return tunerType
        if ref:
            refString = ref.toString().lower()
            if "%3a//" in refString:
                return _("Stream")
            if refString.startswith("1:134:"):
                return _("Alternative")
        return ""
Exemple #18
0
 def getText(self):
     service = self.source.service
     if isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         ref = None
     else:  # reference
         info = service and self.source.info
         ref = service
     if not info:
         return ""
     if self.type == self.NAME or self.type == self.NAME_ONLY:
         if self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.getValue(
         ) and hasattr(self.source,
                       "serviceref") and self.source.serviceref.toString(
                       ).find('0:0:0:0:0:0:0:0:0') == -1:
             name = ref and info.getName(ref)
             numservice = self.source.serviceref
             num = numservice and numservice.getChannelNum() or None
             if name is None:
                 name = info.getName()
             if num is not None:
                 return str(num) + '   ' + name.replace(
                     '\xc2\x86', '').replace('\xc2\x87', '')
             else:
                 return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
         else:
             name = ref and info.getName(ref)
             if name is None:
                 name = info.getName()
             return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
     elif self.type == self.PROVIDER:
         return info.getInfoString(iServiceInformation.sProvider)
     elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(
             self.source, "editmode") and self.source.editmode:
         if not ref:
             return info.getInfoString(iServiceInformation.sServiceref)
         nref = resolveAlternate(ref)
         if nref:
             ref = nref
         return ref.toString()
Exemple #19
0
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""
		if self.type == self.NAME:
			name = ref and info.getName(ref)
			if name is None:
				name = info.getName()
			return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
		elif self.type == self.PROVIDER:
			return info.getInfoString(iServiceInformation.sProvider)
		elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
			if not ref:
				return info.getInfoString(iServiceInformation.sServiceref)
			else:
				nref = resolveAlternate(ref)
				if nref:
					ref = nref
				return ref.toString()
		elif self.type == self.SID:
			if ref is None:
				tmpref = info.getInfoString(iServiceInformation.sServiceref)
			else:
				tmpref = ref.toString()

			if tmpref:
				refsplit = tmpref.split(':')
				if len(refsplit) >= 3: 
					return refsplit[3]
				else:
					return tmpref
			else:
				return 'N/A'
	def getText(self):
		service = self.source.service
		if isinstance(service, iPlayableServicePtr):
			info = service and service.info()
			ref = None
		else: # reference
			info = service and self.source.info
			ref = service
		if not info:
			return ""
		if ref:
			nref = resolveAlternate(ref)
			if nref:
				ref = nref
				info = eServiceCenter.getInstance().info(ref)
			transponder_info = info.getInfoObject(ref, iServiceInformation.sTransponderData)
		else:
			transponder_info = info.getInfoObject(iServiceInformation.sTransponderData)

		if transponder_info:
			tunerType = transponder_info["tuner_type"]
			if tunerType == "DVB-S":
				pos = int(transponder_info["orbital_position"])
				direction = 'E'
				if pos > 1800:
					pos = 3600 - pos
					direction = 'W'
				if self.type == self.SHORT:
					return "%d.%d%s" % (pos/10, pos%10, direction)
				else:
					return "%d.%dьз╕ %s" % (pos/10, pos%10, direction)
			return tunerType
		if ref:
			refString = ref.toString().lower()
			if "%3a//" in refString:
				return _("Stream")
			if refString.startswith("1:134:"):
				return _("Alternative")
		return ""
Exemple #21
0
 def getText(self):
     service = self.source.service
     info = None
     if isinstance(service, eServiceReference):
         info = self.source.info
     elif isinstance(service, iPlayableServicePtr):
         info = service and service.info()
         service = None
     if not info:
         return ''
     else:
         if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
             name = service and info.getName(service)
             if name is None:
                 name = info.getName()
             name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
             if self.type == self.NAME_EVENT:
                 act_event = info and info.getEvent(0)
                 if not act_event and info:
                     refstr = info.getInfoString(iServiceInformation.sServiceref)
                     act_event = self.epgQuery(eServiceReference(refstr), -1, 0)
                 if act_event is None:
                     return '%s - ' % name
                 else:
                     return '%s - %s' % (name, act_event.getEventName())
             elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.value and hasattr(self.source, 'serviceref') and self.source.serviceref and '0:0:0:0:0:0:0:0:0' not in self.source.serviceref.toString():
                 numservice = self.source.serviceref
                 num = numservice and numservice.getChannelNum() or None
                 if num is not None:
                     return str(num) + '   ' + name
                 else:
                     return name
             else:
                 return name
         else:
             if self.type == self.PROVIDER:
                 return info.getInfoString(iServiceInformation.sProvider)
             if self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, 'editmode') and self.source.editmode:
                 if not service:
                     refstr = info.getInfoString(iServiceInformation.sServiceref)
                     path = refstr and eServiceReference(refstr).getPath()
                     if path and fileExists('%s.meta' % path):
                         fd = open('%s.meta' % path, 'r')
                         refstr = fd.readline().strip()
                         fd.close()
                     return refstr
                 nref = resolveAlternate(service)
                 if nref:
                     service = nref
                 return service.toString()
             if self.type == self.SID:
                 if service is None:
                     tmpref = info.getInfoString(iServiceInformation.sServiceref)
                 else:
                     tmpref = service.toString()
                 if tmpref:
                     refsplit = tmpref.split(':')
                     if len(refsplit) >= 3:
                         return refsplit[3]
                     else:
                         return tmpref
                 else:
                     return 'N/A'
             elif self.type == self.TRANSPONDER:
                 if service:
                     nref = resolveAlternate(service)
                     if nref:
                         service = nref
                         info = eServiceCenter.getInstance().info(service)
                     transponder_info = info.getInfoObject(service, iServiceInformation.sTransponderData)
                 else:
                     transponder_info = info.getInfoObject(iServiceInformation.sTransponderData)
                 if 'InRootOnly' in self.mode and not self.rootBouquet():
                     return ''
                 if 'NoRoot' in self.mode and self.rootBouquet():
                     return ''
                 if transponder_info:
                     self.t_info = ConvertToHumanReadable(transponder_info)
                     if self.system() == None:
                         return ''
                     if 'DVB-T' in self.system():
                         return self.dvb_t()
                     if 'DVB-C' in self.system():
                         return self.dvb_c()
                     return self.dvb_s()
                 if service:
                     result = service.toString()
                 else:
                     result = info.getInfoString(iServiceInformation.sServiceref)
                 if '%3a//' in result:
                     return result.rsplit('%3a//', 1)[1].split('/')[0]
                 return ''
         return
    def getText(self):
        service = self.source.service
        if isinstance(service, iPlayableServicePtr):
            info = service and service.info()
            ref = None
        else:
            info = service and self.source.info
            ref = service
        if not info:
            return ''
        if ref:
            nref = resolveAlternate(ref)
            if nref:
                ref = nref
                info = eServiceCenter.getInstance().info(ref)
            transponderraw = info.getInfoObject(
                ref, iServiceInformation.sTransponderData)
        else:
            transponderraw = info.getInfoObject(
                iServiceInformation.sTransponderData)
        if 'InRootOnly' in self.type and not self.rootBouquet():
            return ''
        if 'NoRoot' in self.type and self.rootBouquet():
            return ''
        if transponderraw:
            transponderdata = ConvertToHumanReadable(transponderraw)
            if not transponderdata['system']:
                transponderdata['system'] = transponderraw.get(
                    'tuner_type', 'None')
            try:
                if 'DVB-T' in transponderdata['system']:
                    return '%s %s %s %s' % (transponderdata['system'],
                                            transponderdata['channel'],
                                            transponderdata['frequency'],
                                            transponderdata['bandwidth'])
                if 'DVB-C' in transponderdata['system']:
                    return '%s %s %s %s %s' % (transponderdata['system'],
                                               transponderdata['frequency'],
                                               transponderdata['symbol_rate'],
                                               transponderdata['fec_inner'],
                                               transponderdata['modulation'])
                if 'ATSC' in transponderdata['system']:
                    return '%s %s MHz %s' % (transponderdata['system'],
                                             transponderdata['frequency'],
                                             transponderdata['modulation'])
                return '%s %s %s %s %s %s %s' % (
                    transponderdata['system'], transponderdata['frequency'],
                    transponderdata['polarization_abbreviation'],
                    transponderdata['symbol_rate'],
                    transponderdata['fec_inner'],
                    transponderdata['modulation'], transponderdata[
                        'detailed_satpos' in self.type and 'orbital_position'
                        or 'orb_pos'])
            except:
                return ''

        if ref:
            result = ref.toString().replace('%3a', ':')
        else:
            result = info.getInfoString(iServiceInformation.sServiceref)
        if '@' in result:
            return _('Stream') + ' ' + result.rsplit('@', 1)[1].split('/')[0]
        if '://' in result:
            return _('Stream') + ' ' + result.rsplit('://', 1)[1].split('/')[0]
        return ''
Exemple #23
0
	def getText(self):
		try:
			service = self.source.service
			info = None
			if isinstance(service, eServiceReference):
				info = self.source.info
			elif isinstance(service, iPlayableServicePtr):
				info = service and service.info()
				service = None

			if not info:
				return ""

			if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
				name = service and info.getName(service)
				if name is None:
					name = info.getName()
				name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
				if self.type == self.NAME_EVENT:
					act_event = info and info.getEvent(0)
					if not act_event and info:
						refstr = info.getInfoString(iServiceInformation.sServiceref)
						act_event = self.epgQuery(eServiceReference(refstr), -1, 0)
					if act_event is None:
						return "%s - " % name
					else:
						return "%s - %s" % (name, act_event.getEventName())
				elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.value and hasattr(self.source, "serviceref") and self.source.serviceref and '0:0:0:0:0:0:0:0:0' not in self.source.serviceref.toString():
					numservice = self.source.serviceref
					num = numservice and numservice.getChannelNum() or None
					if num is not None:
						return str(num) + '   ' + name
					else:
						return name
				else:
					return name
			elif self.type == self.PROVIDER:
				return info.getInfoString(iServiceInformation.sProvider)
			elif self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(self.source, "editmode") and self.source.editmode:
				if not service:
					refstr = info.getInfoString(iServiceInformation.sServiceref)
					path = refstr and eServiceReference(refstr).getPath()
					if path and fileExists("%s.meta" % path):
						fd = open("%s.meta" % path, "r")
						refstr = fd.readline().strip()
						fd.close()
					return refstr
				nref = resolveAlternate(service)
				if nref:
					service = nref
				return service.toString()
			elif self.type == self.NUMBER:
				if not ref:
					ref = eServiceReference(info.getInfoString(iServiceInformation.sServiceref))
				num = ref and ref.getChannelNum() or None
				if num is None:
					num = '---'
				else:
					num = str(num)
				return num
			elif self.type == self.TRANSPONDER:
				if service:
					nref = resolveAlternate(service)
					if nref:
						service = nref
						info = eServiceCenter.getInstance().info(service)
					transponder_info = info.getInfoObject(service, iServiceInformation.sTransponderData)
				else:
					transponder_info = info.getInfoObject(iServiceInformation.sTransponderData)
				if "InRootOnly" in self.mode and not self.rootBouquet():
					return ""
				if "NoRoot" in self.mode and self.rootBouquet():
					return ""
				if transponder_info:
					self.t_info = ConvertToHumanReadable(transponder_info)
					if self.system() == None: # catch driver bug
						return ""
					if "DVB-T" in self.system():
						return	self.dvb_t()
					elif "DVB-C" in self.system():
						return self.dvb_c()
					return 	self.dvb_s()
				if service:
					result = service.toString()
				else:
					result = info.getInfoString(iServiceInformation.sServiceref)
				if "%3a//" in result:
					return result.rsplit("%3a//", 1)[1].split("/")[0]
				return ""
		except:
			return 'N/A'
Exemple #24
0
    def getText(self):
        service = self.source.service
        info = None
        if isinstance(service, eServiceReference):
            info = self.source.info
        elif isinstance(service, iPlayableServicePtr):
            info = service and service.info()
            service = None
        if not info:
            return ''
        else:
            if self.type == self.NAME or self.type == self.NAME_ONLY or self.type == self.NAME_EVENT:
                name = service and info.getName(service)
                if name is None:
                    name = info.getName()
                name = name.replace('\xc2\x86', '').replace('\xc2\x87', '')
                if self.type == self.NAME_EVENT:
                    act_event = info and info.getEvent(0)
                    if not act_event and info:
                        refstr = info.getInfoString(
                            iServiceInformation.sServiceref)
                        act_event = self.epgQuery(eServiceReference(refstr),
                                                  -1, 0)
                    if act_event is None:
                        return '%s - ' % name
                    else:
                        return '%s - %s' % (name, act_event.getEventName())

                elif self.type != self.NAME_ONLY and config.usage.show_infobar_channel_number.value and hasattr(
                        self.source, 'serviceref'
                ) and self.source.serviceref and '0:0:0:0:0:0:0:0:0' not in self.source.serviceref.toString(
                ):
                    numservice = self.source.serviceref
                    num = numservice and numservice.getChannelNum() or None
                    if num is not None:
                        return str(num) + '   ' + name
                    else:
                        return name

                else:
                    return name
            else:
                if self.type == self.PROVIDER:
                    return info.getInfoString(iServiceInformation.sProvider)
                if self.type == self.REFERENCE or self.type == self.EDITREFERENCE and hasattr(
                        self.source, 'editmode') and self.source.editmode:
                    if not service:
                        refstr = info.getInfoString(
                            iServiceInformation.sServiceref)
                        path = refstr and eServiceReference(refstr).getPath()
                        if path and fileExists('%s.meta' % path):
                            fd = open('%s.meta' % path, 'r')
                            refstr = fd.readline().strip()
                            fd.close()
                        return refstr
                    nref = resolveAlternate(service)
                    if nref:
                        service = nref
                    return service.toString()
                if self.type == self.SID:
                    if service is None:
                        tmpref = info.getInfoString(
                            iServiceInformation.sServiceref)
                    else:
                        tmpref = service.toString()
                    if tmpref:
                        refsplit = tmpref.split(':')
                        if len(refsplit) >= 3:
                            return refsplit[3]
                        else:
                            return tmpref

                    else:
                        return 'N/A'
                elif self.type == self.TRANSPONDER:
                    if service:
                        nref = resolveAlternate(service)
                        if nref:
                            service = nref
                            info = eServiceCenter.getInstance().info(service)
                        transponder_info = info.getInfoObject(
                            service, iServiceInformation.sTransponderData)
                    else:
                        transponder_info = info.getInfoObject(
                            iServiceInformation.sTransponderData)
                    if 'InRootOnly' in self.mode and not self.rootBouquet():
                        return ''
                    if 'NoRoot' in self.mode and self.rootBouquet():
                        return ''
                    if transponder_info:
                        self.t_info = ConvertToHumanReadable(transponder_info)
                        if self.system() == None:
                            return ''
                        if 'DVB-T' in self.system():
                            return self.dvb_t()
                        if 'DVB-C' in self.system():
                            return self.dvb_c()
                        return self.dvb_s()
                    if service:
                        result = service.toString()
                    else:
                        result = info.getInfoString(
                            iServiceInformation.sServiceref)
                    if '%3a//' in result:
                        return result.rsplit('%3a//', 1)[1].split('/')[0]
                    return ''
            return