Example #1
0
    def getText(self):
        event = self.source.event
        evnt = []
        try:
            for type in self.tip:
                type.strip()
                if type == "SESSION_EPISODE":
                    ses_ep = self.sessionEpisode(event)
                    if ses_ep != "" and len(ses_ep) > 0:
                        evnt.append(ses_ep)

                elif type == "RATING":
                    rating = event.getParentalData()
                    if rating:
                        rtng = rating.getRating()
                        if rtng > 0:
                            evnt.append("%d+" % rtng)

                elif type == "YEAR":
                    year = self.yearPr(event)
                    if len(year) > 0:
                        evnt.append("%s" % year)

                elif type == "GENRE":
                    genre = event.getGenreData()
                    if not genre is None:
                        gnr = getGenreStringSub(genre.getLevel1(),
                                                genre.getLevel2())
                        if len(gnr) > 0:
                            evnt.append("%s" % gnr)

            return " • ".join(evnt)
        except:
            return ""
    def getText(self):
        event = self.source.event
        if event is None:
            return ""

        if self.type == self.NAME:
            return event.getEventName()
        elif self.type == self.SRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("All ages")
                elif age > 15:
                    return _("bc%s") % age
                else:
                    age += 3
                    return " %d+" % age
        elif self.type == self.RATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("Rating undefined")
                elif age > 15:
                    return _("Rating defined by broadcaster - %d") % age
                else:
                    age += 3
                    return _("Minimum age %d years") % age
        elif self.type == self.GENRE:
            genre = event.getGenreData()
            if genre is None:
                return ""
            else:
                return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + event.getEventName()
        elif self.type == self.NAME_NEXT:
            return pgettext("now/next: 'next' event label",
                            "Next") + ": " + event.getEventName()
        elif self.type == self.SHORT_DESCRIPTION:
            return event.getShortDescription()
        elif self.type == self.EXTENDED_DESCRIPTION:
            return event.getExtendedDescription() or event.getShortDescription(
            )
        elif self.type == self.FULL_DESCRIPTION:
            description = event.getShortDescription()
            extended = event.getExtendedDescription()
            if description and extended:
                description += '\n'
            return description + extended
        elif self.type == self.ID:
            return str(event.getEventId())
Example #3
0
    def getText(self):
        event = self.source.event
        evnt = []
        try:
            for type in self.tip:
                type.strip()
                if type == 'SESSION_EPISODE':
                    ses_ep = self.sessionEpisode(event)
                    if ses_ep != '' and len(ses_ep) > 0:
                        evnt.append(ses_ep)
                elif type == 'RATING':
                    rating = event.getParentalData()
                    if rating:
                        rtng = rating.getRating()
                        if rtng > 0:
                            evnt.append('%d+' % rtng)
                elif type == 'YEAR':
                    year = self.yearPr(event)
                    if len(year) > 0:
                        evnt.append('%s' % year)
                elif type == 'GENRE':
                    genre = event.getGenreData()
                    if genre is not None:
                        gnr = getGenreStringSub(genre.getLevel1(),
                                                genre.getLevel2())
                        if len(gnr) > 0:
                            evnt.append('%s' % gnr)

            return ' \xe2\x80\xa2 '.join(evnt)
        except:
            return ''
Example #4
0
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			return event.getEventName()
		elif self.type == self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("All ages")
				elif age > 15:
					return _("bc%s") % age
				else:
					age += 3
					return " %d+" % age
		elif self.type == self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("Rating undefined")
				elif age > 15:
					return _("Rating defined by broadcaster - %d") % age
				else:
					age += 3
					return _("Minimum age %d years") % age
		elif self.type == self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + event.getEventName()
		elif self.type == self.NAME_NEXT:
			return pgettext("now/next: 'next' event label", "Next") + ": " + event.getEventName()
		elif self.type == self.SHORT_DESCRIPTION:
			return event.getShortDescription()
		elif self.type == self.EXTENDED_DESCRIPTION:
			return event.getExtendedDescription() or event.getShortDescription()
		elif self.type == self.FULL_DESCRIPTION:
			description = event.getShortDescription()
			extended = event.getExtendedDescription()
			if description and extended:
				description += '\n'
			return description + extended
		elif self.type == self.ID:
			return str(event.getEventId())
Example #5
0
    def getText(self):
        event = self.source.event
        if event is None:
            return ""

        if self.type == self.NAME:
            return event.getEventName()
        elif self.type == self.SRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("All ages")
                elif age > 15:
                    return _("bc%s") % age
                else:
                    age += 3
                    return " %d+" % age
        elif self.type == self.RATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("Rating undefined")
                elif age > 15:
                    return _("Rating defined by broadcaster - %d") % age
                else:
                    age += 3
                    return _("Minimum age %d years") % age
        elif self.type == self.GENRE:
            genre = event.getGenreData()
            if genre is None:
                return ""
            else:
                return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + event.getEventName()
        elif self.type == self.SHORT_DESCRIPTION:
            return event.getShortDescription()
        elif self.type == self.EXTENDED_DESCRIPTION:
            return event.getExtendedDescription() or event.getShortDescription(
            )
        elif self.type == self.FULL_DESCRIPTION:
            description = event.getShortDescription()
            extended = event.getExtendedDescription()
            if description and extended:
                description += '\n'
            return description + extended
        elif self.type == self.ID:
            return str(event.getEventId())
        elif self.type == self.PDC:
            if event.getPdcPil():
                return _("PDC")
            return ""
        elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
            pil = event.getPdcPil()
            if pil:
                if self.type == self.PDCTIMESHORT:
                    return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
                return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15,
                                                  (pil & 0x7800) >> 11,
                                                  (pil & 0x7C0) >> 6,
                                                  (pil & 0x3F))
            return ""
        elif self.type == self.ISRUNNINGSTATUS:
            if event.getPdcPil():
                running_status = event.getRunningStatus()
                if running_status == 1:
                    return "not running"
                if running_status == 2:
                    return "starts in a few seconds"
                if running_status == 3:
                    return "pausing"
                if running_status == 4:
                    return "running"
                if running_status == 5:
                    return "service off-air"
                if running_status in (6, 7):
                    return "reserved for future use"
                return "undefined"
            return ""

        elif int(self.type) in (6, 7) or int(self.type) >= 21:
            try:
                reference = self.source.service
                info = reference and self.source.info
                if info is None:
                    return
                test = ['ITSECX', (reference.toString(), 1, -1, 1440)
                        ]  # search next 24 hours
                self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(
                    test)
                if self.list:
                    if self.type == self.NAME_NEXT and self.list[1][1]:
                        return pgettext("now/next: 'next' event label",
                                        "Next") + ": " + self.list[1][1]
                    elif self.type == self.NAME_NEXT2 and self.list[1][1]:
                        return self.list[1][1]
                    elif self.type == self.NEXT_DESCRIPTION and (
                            self.list[1][2] or self.list[1][3]):
                        description = self.list[1][2]
                        extended = self.list[1][3]
                        if (description and extended) and (description[0:20] !=
                                                           extended[0:20]):
                            description += '\n'
                        return description + extended
                    if self.type == self.THIRD_NAME and self.list[2][1]:
                        return pgettext("third event: 'third' event label",
                                        "Later") + ": " + self.list[2][1]
                    elif self.type == self.THIRD_NAME2 and self.list[2][1]:
                        return self.list[2][1]
                    elif self.type == self.THIRD_DESCRIPTION and (
                            self.list[2][2] or self.list[2][3]):
                        description = self.list[2][2]
                        extended = self.list[2][3]
                        if (description and extended) and (description[0:20] !=
                                                           extended[0:20]):
                            description += '\n'
                        return description + extended
                    else:
                        # failed to return any epg data.
                        return ""
            except:
                # failed to return any epg data.
                if self.type == self.NAME_NEXT:
                    return pgettext("now/next: 'next' event label",
                                    "Next") + ": " + event.getEventName()
                return ""
Example #6
0
    def getText(self):
        event = self.source.event
        if event is None:
            return ""

        if self.type == self.NAME:
            return self.trimText(event.getEventName())
        elif self.type in (self.RATING, self.SRATING, self.RATINGICON):
            rating = event.getParentalData()
            if rating:
                age = rating.getRating()
                country = rating.getCountryCode().upper()
                if country in countries:
                    c = countries[country]
                else:
                    c = countries["ETSI"]
                if config.misc.epgratingcountry.value:
                    c = countries[config.misc.epgratingcountry.value]
                rating = c[self.RATNORMAL].get(age, c[self.RATDEFAULT](age))
                if rating:
                    if self.type == self.RATING:
                        return self.trimText(rating[self.RATLONG])
                    elif self.type == self.SRATING:
                        return self.trimText(rating[self.RATSHORT])
                    return resolveFilename(SCOPE_CURRENT_SKIN,
                                           rating[self.RATICON])
        elif self.type in (self.GENRE, self.GENRELIST):
            if not config.usage.show_genre_info.value:
                return ""
            genres = event.getGenreDataList()
            if genres:
                if self.type == self.GENRE:
                    genres = genres[0:1]
                rating = event.getParentalData()
                if rating:
                    country = rating.getCountryCode().upper()
                else:
                    country = "ETSI"
                if config.misc.epggenrecountry.value:
                    country = config.misc.epggenrecountry.value
                return self.separator.join(
                    (genretext for genretext in (self.trimText(
                        getGenreStringSub(genre[0], genre[1], country=country))
                                                 for genre in genres)
                     if genretext))
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + self.trimText(event.getEventName())
        elif self.type == self.SHORT_DESCRIPTION:
            return self.trimText(event.getShortDescription())
        elif self.type == self.EXTENDED_DESCRIPTION:
            return self.trimText(event.getExtendedDescription()
                                 or event.getShortDescription())
        elif self.type == self.FULL_DESCRIPTION:
            return self.formatDescription(event.getShortDescription(),
                                          event.getExtendedDescription())
        elif self.type == self.ID:
            return self.trimText(event.getEventId())
        elif self.type == self.PDC:
            if event.getPdcPil():
                return _("PDC")
        elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
            pil = event.getPdcPil()
            if pil:
                begin = localtime(event.getBeginTime())
                start = localtime(
                    mktime([
                        begin.tm_year,
                        (pil & 0x7800) >> 11, (pil & 0xF8000) >> 15,
                        (pil & 0x7C0) >> 6, (pil & 0x3F), 0, begin.tm_wday,
                        begin.tm_yday, begin.tm_isdst
                    ]))
                if self.type == self.PDCTIMESHORT:
                    return strftime(config.usage.time.short.value, start)
                return strftime(
                    config.usage.date.short.value + " " +
                    config.usage.time.short.value, start)
        elif self.type == self.ISRUNNINGSTATUS:
            if event.getPdcPil():
                running_status = event.getRunningStatus()
                if running_status == 1:
                    return _("Not running")
                if running_status == 2:
                    return _("Starts in a few seconds")
                if running_status == 3:
                    return _("Pausing")
                if running_status == 4:
                    return _("Running")
                if running_status == 5:
                    return _("Service off-air")
                if running_status in (6, 7):
                    return _("Reserved for future use")
                return _("Undefined")
        elif self.type in (self.NAME_NEXT, self.NAME_NEXT2
                           ) or self.type >= self.NEXT_DESCRIPTION:
            try:
                reference = self.source.service
                info = reference and self.source.info
                if info:
                    test = ["ITSECX", (reference.toString(), 1, -1, 1440)
                            ]  # Search next 24 hours
                    self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(
                        test)
                    if self.list:
                        if self.type == self.NAME_NEXT and self.list[1][1]:
                            return pgettext("now/next: 'next' event label",
                                            "Next") + ": " + self.trimText(
                                                self.list[1][1])
                        elif self.type == self.NAME_NEXT2 and self.list[1][1]:
                            return self.trimText(self.list[1][1])
                        elif self.type == self.NEXT_DESCRIPTION and (
                                self.list[1][2] or self.list[1][3]):
                            return self.formatDescription(
                                self.list[1][2], self.list[1][3])
                        if self.type == self.THIRD_NAME and self.list[2][1]:
                            return pgettext("third event: 'third' event label",
                                            "Later") + ": " + self.trimText(
                                                self.list[2][1])
                        elif self.type == self.THIRD_NAME2 and self.list[2][1]:
                            return self.trimText(self.list[2][1])
                        elif self.type == self.THIRD_DESCRIPTION and (
                                self.list[2][2] or self.list[2][3]):
                            return self.formatDescription(
                                self.list[2][2], self.list[2][3])
            except:
                # Failed to return any EPG data.
                if self.type == self.NAME_NEXT:
                    return pgettext("now/next: 'next' event label",
                                    "Next") + ": " + self.trimText(
                                        event.getEventName())
        elif self.type == self.RAWRATING:
            rating = event.getParentalData()
            if rating:
                return "%d" % rating.getRating()
        elif self.type == self.RATINGCOUNTRY:
            rating = event.getParentalData()
            if rating:
                return rating.getCountryCode().upper()
        return ""
    def getText(self):
        event = self.source.event
        if event is None:
            if self.WaitForEvent == True:
                if DBG:
                    j00zekDEBUG(
                        "[j00zekModEventName:getText] event is None, wating 100ms"
                    )
                self.poll_enabled = True
                self.WaitForEvent = False
            else:
                self.poll_enabled = False
                if DBG:
                    j00zekDEBUG("[j00zekModEventName:getText] event is None")
            return ""
        else:
            if DBG:
                j00zekDEBUG("[j00zekModEventName:getText] event data found")
            self.WaitForEvent = True  #for next event
            self.poll_enabled = False

        if self.type == self.NAME:
            return event.getEventName()
        elif self.type == self.SRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("All ages")
                elif age > 15:
                    return _("bc%s") % age
                else:
                    age += 3
                    return " %d+" % age
        elif self.type == self.RATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("Rating undefined")
                elif age > 15:
                    return _("Rating defined by broadcaster - %d") % age
                else:
                    age += 3
                    return _("Minimum age %d years") % age
        elif self.type == self.GENRE:
            genre = event.getGenreData()
            if genre is None:
                return ""
            else:
                return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
        elif self.type == self.EPGPIC:
            if DBG:
                j00zekDEBUG(
                    "[j00zekModEventName:getText] self.type == self.EPGPIC, returning '%s'"
                    % self.picFileName)
            return self.picFileName
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + event.getEventName()
        elif self.type == self.NAME_NEXT:
            return pgettext("now/next: 'next' event label",
                            "Next") + ": " + event.getEventName()
        elif self.type == self.ID:
            return str(event.getEventId())
        elif self.type == self.PDC:
            if event.getPdcPil():
                return _("PDC")
            return ""
        elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
            pil = event.getPdcPil()
            if pil:
                if self.type == self.PDCTIMESHORT:
                    return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
                return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15,
                                                  (pil & 0x7800) >> 11,
                                                  (pil & 0x7C0) >> 6,
                                                  (pil & 0x3F))
            return ""
        elif self.type == self.ISRUNNINGSTATUS:
            if event.getPdcPil():
                running_status = event.getRunningStatus()
                if running_status == 1:
                    return _("not running")
                if running_status == 2:
                    return _("starts in a few seconds")
                if running_status == 3:
                    return _("pausing")
                if running_status == 4:
                    return _("running")
                if running_status == 5:
                    return _("service off-air")
                if running_status in (6, 7):
                    return _("reserved for future use")
                return _("undefined")
            return ""
        elif self.type in (self.SHORT_DESCRIPTION, self.EXTENDED_DESCRIPTION,
                           self.FULL_DESCRIPTION):
            description = event.getShortDescription()
            extended = event.getExtendedDescription()
            if config.plugins.j00zekCC.enTMDBratingFirst.value:
                tmdbRating = 'TBC'
            else:
                tmdbRating = ''
            if config.plugins.j00zekCC.enDescrType.value == '1' or self.type == self.SHORT_DESCRIPTION:
                return tmdbRating + description.strip()
            elif config.plugins.j00zekCC.enDescrType.value == '2' or self.type == self.EXTENDED_DESCRIPTION:
                return extended or description
            elif config.plugins.j00zekCC.enDescrType.value == '3' or self.type == self.FULL_DESCRIPTION:
                if description and extended:
                    if description.replace('\n',
                                           '') == extended.replace('\n', ''):
                        return extended
                    description += '\n'
                return tmdbRating + description + extended
            elif config.plugins.j00zekCC.enDescrType.value == '4':
                if description and extended:
                    extendedCut = extended[:len(description) + 10].replace(
                        '\n', ' ').strip().replace('  ', ' ').split(' ')
                    descrWords = description.replace('\n',
                                                     ' ').strip().replace(
                                                         '  ', ' ').split(' ')
                    if len(descrWords) > 0:
                        wordCount = 0
                        for word in descrWords:
                            if word in extendedCut:
                                wordCount += 1
                        if wordCount >= len(descrWords) * 0.75:
                            return tmdbRating + extended
                return tmdbRating + description + extended
Example #8
0
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			return event.getEventName()
		elif self.type == self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("All ages")
				elif age > 15:
					return _("bc%s") % age
				else:
					age += 3
					return " %d+" % age
		elif self.type == self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("Rating undefined")
				elif age > 15:
					return _("Rating defined by broadcaster - %d") % age
				else:
					age += 3
					return _("Minimum age %d years") % age
		elif self.type == self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + event.getEventName()
		elif self.type == self.NAME_NEXT:
			return pgettext("now/next: 'next' event label", "Next") + ": " + event.getEventName()
		elif self.type == self.SHORT_DESCRIPTION:
			return event.getShortDescription()
		elif self.type == self.EXTENDED_DESCRIPTION:
			return event.getExtendedDescription() or event.getShortDescription()
		elif self.type == self.FULL_DESCRIPTION:
			description = event.getShortDescription()
			extended = event.getExtendedDescription()
			if description and extended:
				if description.replace('\n','') == extended.replace('\n',''):
					return extended
				description += '\n'
			return description + extended
                elif self.type == self.NEXT_NAME or self.type == self.NEXT_DESCRIPTION:
                        reference = self.source.service
                        info = reference and self.source.info
                        if info is not None:
                        	nextEvent = self.epgcache.lookupEvent(['SETX', (reference.toString(), 1, -1)])
                                if self.type == self.NEXT_NAME:
                                        return nextEvent[0][2]
                                else:
                                        if nextEvent[0][1] != "":
                                                return nextEvent[0][1]
                                        else:
                                                return nextEvent[0][0]
		elif self.type == self.ID:
			return str(event.getEventId())
		elif self.type == self.PDC:
			if event.getPdcPil():
				return _("PDC")
			return ""
		elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
			pil = event.getPdcPil()
			if pil:
				if self.type == self.PDCTIMESHORT:
					return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
				return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15, (pil & 0x7800) >> 11, (pil & 0x7C0) >> 6, (pil & 0x3F))
			return ""
		elif self.type == self.ISRUNNINGSTATUS:
			if event.getPdcPil():
				running_status = event.getRunningStatus()
				if running_status == 1:
					return _("not running")
				if running_status == 2:
					return _("starts in a few seconds")
				if running_status == 3:
					return _("pausing")
				if running_status == 4:
					return _("running")
				if running_status == 5:
					return _("service off-air")
				if running_status in (6,7):
					return _("reserved for future use")
				return _("undefined")
			return ""
    def getText(self):
        event = self.source.event
        if event is None:
            return ""

        if self.type == self.NAME:
            return event.getEventName()
        elif self.type == self.SRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("All ages")
                elif age > 15:
                    return _("bc%s") % age
                else:
                    age += 3
                    return " %d+" % age
        elif self.type == self.RATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("Rating undefined")
                elif age > 15:
                    return _("Rating defined by broadcaster - %d") % age
                else:
                    age += 3
                    return _("Minimum age %d years") % age
        elif self.type == self.GENRE:
            genre = event.getGenreData()
            if genre is None:
                return ""
            else:
                return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + event.getEventName()
        elif self.type == self.SHORT_DESCRIPTION:
            return event.getShortDescription()
        elif self.type == self.EXTENDED_DESCRIPTION:
            return event.getExtendedDescription() or event.getShortDescription(
            )
        elif self.type == self.FULL_DESCRIPTION:
            description = event.getShortDescription()
            extended = event.getExtendedDescription()
            if description and extended:
                description += '\n'
            return description + extended
        elif self.type == self.ID:
            return str(event.getEventId())
        elif int(self.type) == 6 or int(self.type) >= 21:
            try:
                reference = self.source.service
                info = reference and self.source.info
                if info is None:
                    return
                test = ['ITSECX', (reference.toString(), 1, -1, 1440)
                        ]  # search next 24 hours
                self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(
                    test)
                if self.list:
                    if self.type == self.NAME_NEXT and self.list[1][1]:
                        return pgettext("now/next: 'next' event label",
                                        "Next") + ": " + self.list[1][1]
                    elif self.type == self.NEXT_DESCRIPTION and (
                            self.list[1][2] or self.list[1][3]):
                        description = self.list[1][2]
                        extended = self.list[1][3]
                        if (description and extended) and (description[0:20] !=
                                                           extended[0:20]):
                            description += '\n'
                        return description + extended
                    elif self.type == self.THIRD_NAME and self.list[2][1]:
                        return pgettext("third event: 'third' event label",
                                        "Later") + ": " + self.list[2][1]
                    elif self.type == self.THIRD_DESCRIPTION and (
                            self.list[2][2] or self.list[2][3]):
                        description = self.list[2][2]
                        extended = self.list[2][3]
                        if (description and extended) and (description[0:20] !=
                                                           extended[0:20]):
                            description += '\n'
                        return description + extended
                    else:
                        # failed to return any epg data.
                        return ""
            except:
                # failed to return any epg data.
                if self.type == self.NAME_NEXT:
                    return pgettext("now/next: 'next' event label",
                                    "Next") + ": " + event.getEventName()
                return ""
Example #10
0
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			return self.trimText(event.getEventName())
		elif self.type == self.RATINGCOUNTRY:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				return rating.getCountryCode()
		elif self.type == self.RAWRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				return "%d" % int(rating.getRating())
		elif self.type == self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = int(rating.getRating())
				if country.upper() == "AUS":
					errmsg = _("BC%d") % age
					undef = (errmsg, "")
					return _(self.AUSRATINGS.get(age, undef)[self.AUSSHORT])
				else:
					if age == 0:
						return _("All ages")
					elif age > 15:
						return _("bc%d") % age
					else:
						age += 3
						return " %d+" % age
		elif self.type == self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = int(rating.getRating())
				if country.upper() == "AUS":
					errmsg = _("Defined By Broadcaster (%d)") % age
					undef = ("",  errmsg)
					return _(self.AUSRATINGS.get(age, undef)[self.AUSLONG])
				else:
					if age == 0:
						return _("Rating undefined")
					elif age > 15:
						return _("Rating defined by broadcaster - %d") % age
					else:
						age += 3
						return _("Minimum age %d years") % age
		elif self.type == self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return self.trimText(getGenreStringSub(genre.getLevel1(), genre.getLevel2()))
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + self.trimText(event.getEventName())
		elif self.type == self.SHORT_DESCRIPTION:
			return self.trimText(event.getShortDescription())
		elif self.type == self.EXTENDED_DESCRIPTION:
			return self.trimText(event.getExtendedDescription() or event.getShortDescription())
		elif self.type == self.FULL_DESCRIPTION:
			description = self.trimText(event.getShortDescription())
			extended = self.trimText(event.getExtendedDescription())
			if description and extended and description.replace('\n','') == extended.replace('\n',''):
				return extended
			if description and extended:
				description += self.SEPARATOR
			return description + extended
		elif self.type == self.ID:
			return str(event.getEventId())
		elif self.type == self.PDC:
			if event.getPdcPil():
				return _("PDC")
			return ""
		elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
			pil = event.getPdcPil()
			if pil:
				if self.type == self.PDCTIMESHORT:
					return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
				return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15, (pil & 0x7800) >> 11, (pil & 0x7C0) >> 6, (pil & 0x3F))
			return ""
		elif self.type == self.ISRUNNINGSTATUS:
			if event.getPdcPil():
				running_status = event.getRunningStatus()
				if running_status == 1:
					return "not running"
				if running_status == 2:
					return "starts in a few seconds"
				if running_status == 3:
					return "pausing"
				if running_status == 4:
					return "running"
				if running_status == 5:
					return "service off-air"
				if running_status in (6,7):
					return "reserved for future use"
				return "undefined"
			return ""
		elif self.type == self.EVENT_EXTRADATA:
			pass
			#not include yet
			#ret = event.getExtraEventData()
		elif self.type == self.EPG_SOURCE:
			pass
			#not include yet
			#ret = event.getEPGSource()
		elif int(self.type) in (6, 7) or int(self.type) >= 21:
			try:
				reference = self.source.service
				info = reference and self.source.info
				if info is None:
					return
				test = ['ITSECX', (reference.toString(), 1, -1, 1440)]  # search next 24 hours
				self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(test)
				if self.list:
					if self.type == self.NAME_NEXT and self.list[1][1]:
						return pgettext("now/next: 'next' event label", "Next") + ": " + self.trimText(self.list[1][1])
					elif self.type == self.NAME_NEXT2 and self.list[1][1]:
						return self.trimText(self.list[1][1])
					elif self.type == self.NEXT_DESCRIPTION and (self.list[1][2] or self.list[1][3]):
						description = self.trimText(self.list[1][2])
						extended = self.trimText(self.list[1][3])
						if (description and extended) and (description[0:20] != extended[0:20]):
							description += self.SEPARATOR
						return description + extended
					if self.type == self.THIRD_NAME and self.list[2][1]:
						return pgettext("third event: 'third' event label", "Later") + ": " + self.trimText(self.list[2][1])
					elif self.type == self.THIRD_NAME2 and self.list[2][1]:
						return self.list[2][1]
					elif self.type == self.THIRD_DESCRIPTION and (self.list[2][2] or self.list[2][3]):
						description = self.trimText(self.list[2][2])
						extended = self.trimText(self.list[2][3])
						if (description and extended) and (description[0:20] != extended[0:20]):
							description += self.SEPARATOR
						return description + extended
					else:
						# failed to return any epg data.
						return ""
			except:
				# failed to return any epg data.
				if self.type == self.NAME_NEXT:
					return pgettext("now/next: 'next' event label", "Next") + ": " + self.trimText(event.getEventName())
				return ""
Example #11
0
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			if event.getEventName() == "Visibile gratis su tv terrestre e TivuSat":
				return event.getShortDescription().title()
			else:
				return event.getEventName()
		elif self.type == self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("All ages")
				elif age > 15:
					return _("bc%s") % age
				else:
					age += 3
					return " %d+" % age
		elif self.type == self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("Rating undefined")
				elif age > 15:
					return _("Rating defined by broadcaster - %d") % age
				else:
					age += 3
					return _("Minimum age %d years") % age
		elif self.type == self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + event.getEventName()
		elif self.type == self.SHORT_DESCRIPTION:
			return event.getShortDescription()
		elif self.type == self.EXTENDED_DESCRIPTION:
			return event.getExtendedDescription() or event.getShortDescription()
		elif self.type == self.FULL_DESCRIPTION:
			description = event.getShortDescription()
			extended = event.getExtendedDescription()
			if description and extended:
				description += '\n'
			return description + extended
		elif self.type == self.ID:
			return str(event.getEventId())
		elif int(self.type) == 6 or int(self.type) >= 21:
			try:
				reference = self.source.service
				info = reference and self.source.info
				if info is None:
					return
				test = [ 'ITSECX', (reference.toString(), 1, -1, 1440) ] # search next 24 hours
				self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(test)
				if self.list:
						if self.type == self.NAME_NEXT and self.list[1][1]:
							return pgettext("now/next: 'next' event label", "Next") + ": " + self.list[1][1]
						elif self.type == self.NEXT_DESCRIPTION and (self.list[1][2] or self.list[1][3]):
							description = self.list[1][2]
							extended = self.list[1][3]
							if (description and extended) and (description[0:20] != extended[0:20]):
								description += '\n'
							return description + extended
						elif self.type == self.THIRD_NAME and self.list[2][1]:
							return pgettext("third event: 'third' event label", "Later") + ": " + self.list[2][1]
						elif self.type == self.THIRD_DESCRIPTION and (self.list[2][2] or self.list[2][3]):
							description = self.list[2][2]
							extended = self.list[2][3]
							if (description and extended) and (description[0:20] != extended[0:20]):
								description += '\n'
							return description + extended
						else:
							# failed to return any epg data.
							return ""
			except:
				# failed to return any epg data.
				if self.type == self.NAME_NEXT:
					return pgettext("now/next: 'next' event label", "Next") + ": " + event.getEventName()
				return ""
Example #12
0
    def getText(self):
        event = self.source.event
        if event is None:
            return ''
        if self.type == self.NAME:
            return self.trimText(event.getEventName())
        if self.type in (self.RATING, self.SRATING):
            rating = event.getParentalData()
            if rating:
                age = rating.getRating()
                country = rating.getCountryCode().upper()
                if country in countries:
                    c = countries[country]
                else:
                    c = countries['ETSI']
                if config.misc.epgratingcountry.value:
                    c = countries[config.misc.epgratingcountry.value]
                rating = c[self.RATNORMAL].get(age, c[self.RATDEFAULT](age))
                if rating:
                    if self.type == self.RATING:
                        return self.trimText(rating[self.RATLONG])
                    else:
                        return self.trimText(rating[self.RATSHORT])
        elif self.type == self.GENRE:
            if not config.usage.show_genre_info.value:
                return ''
            genre = event.getGenreData()
            if genre:
                rating = event.getParentalData()
                if rating:
                    country = rating.getCountryCode().upper()
                else:
                    country = 'ETSI'
                if config.misc.epggenrecountry.value:
                    country = config.misc.epggenrecountry.value
                return self.trimText(
                    getGenreStringSub(genre.getLevel1(),
                                      genre.getLevel2(),
                                      country=country))
        else:
            if self.type == self.NAME_NOW:
                return pgettext("now/next: 'now' event label",
                                'Now') + ': ' + self.trimText(
                                    event.getEventName())
            if self.type == self.SHORT_DESCRIPTION:
                return self.trimText(event.getShortDescription())
            if self.type == self.EXTENDED_DESCRIPTION:
                return self.trimText(event.getExtendedDescription()
                                     or event.getShortDescription())
            if self.type == self.FULL_DESCRIPTION:
                return self.formatDescription(event.getShortDescription(),
                                              event.getExtendedDescription())
            if self.type == self.ID:
                return self.trimText(event.getEventId())
            if self.type == self.PDC:
                if event.getPdcPil():
                    return _('PDC')
            elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
                pil = event.getPdcPil()
                if pil:
                    begin = localtime(event.getBeginTime())
                    start = localtime(
                        mktime([
                            begin.tm_year,
                            (pil & 30720) >> 11, (pil & 1015808) >> 15,
                            (pil & 1984) >> 6, pil & 63, 0, begin.tm_wday,
                            begin.tm_yday, begin.tm_isdst
                        ]))
                    if self.type == self.PDCTIMESHORT:
                        return _('%02d:%02d') % ((pil & 1984) >> 6, pil & 63)
                    return _('%d.%02d. %02d:%02d') % (
                        (pil & 1015808) >> 15, (pil & 30720) >> 11,
                        (pil & 1984) >> 6, pil & 63)
            elif self.type == self.ISRUNNINGSTATUS:
                if event.getPdcPil():
                    running_status = event.getRunningStatus()
                    if running_status == 1:
                        return _('Not running')
                    if running_status == 2:
                        return _('Starts in a few seconds')
                    if running_status == 3:
                        return _('Pausing')
                    if running_status == 4:
                        return _('Running')
                    if running_status == 5:
                        return _('Service off-air')
                    if running_status in (6, 7):
                        return _('Reserved for future use')
                    return _('Undefined')
            elif self.type in (self.NAME_NEXT, self.NAME_NEXT2
                               ) or self.type >= self.NEXT_DESCRIPTION:
                try:
                    reference = self.source.service
                    info = reference and self.source.info
                    if info:
                        test = ['ITSECX', (reference.toString(), 1, -1, 1440)]
                        self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(
                            test)
                        if self.list:
                            if self.type == self.NAME_NEXT and self.list[1][1]:
                                return pgettext("now/next: 'next' event label",
                                                'Next') + ': ' + self.trimText(
                                                    self.list[1][1])
                            if self.type == self.NAME_NEXT2 and self.list[1][1]:
                                return self.trimText(self.list[1][1])
                            if self.type == self.NEXT_DESCRIPTION and (
                                    self.list[1][2] or self.list[1][3]):
                                return self.formatDescription(
                                    self.list[1][2], self.list[1][3])
                            if self.type == self.THIRD_NAME and self.list[2][1]:
                                return pgettext(
                                    "third event: 'third' event label",
                                    'Later') + ': ' + self.trimText(
                                        self.list[2][1])
                            if self.type == self.THIRD_NAME2 and self.list[2][
                                    1]:
                                return self.trimText(self.list[2][1])
                            if self.type == self.THIRD_DESCRIPTION and (
                                    self.list[2][2] or self.list[2][3]):
                                return self.formatDescription(
                                    self.list[2][2], self.list[2][3])
                except:
                    if self.type == self.NAME_NEXT:
                        return pgettext("now/next: 'next' event label",
                                        'Next') + ': ' + self.trimText(
                                            event.getEventName())

            elif self.type == self.RAWRATING:
                rating = event.getParentalData()
                if rating:
                    return '%d' % rating.getRating()
            elif self.type == self.RATINGCOUNTRY:
                rating = event.getParentalData()
                if rating:
                    return rating.getCountryCode().upper()
        return ''
Example #13
0
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			return self.trimText(event.getEventName())
		elif self.type in (self.RATING, self.SRATING):
			rating = event.getParentalData()
			if rating:
				age = rating.getRating()
				country = rating.getCountryCode().upper()
				if country in countries:
					c = countries[country]
				else:
					c = countries["ETSI"]
				if config.misc.epgratingcountry.value:
					c = countries[config.misc.epgratingcountry.value]
				rating = c[self.RATNORMAL].get(age, c[self.RATDEFAULT](age))
				if rating:
					if self.type == self.RATING:
						return self.trimText(rating[self.RATLONG])
					else:
						return self.trimText(rating[self.RATSHORT])
		elif self.type == self.GENRE:
			if not config.usage.show_genre_info.value:
				return ""
			genre = event.getGenreData()
			if genre:
				rating = event.getParentalData()
				if rating:
					country = rating.getCountryCode().upper()
				else:
					country = "ETSI"
				if config.misc.epggenrecountry.value:
					country = config.misc.epggenrecountry.value
				return self.trimText(getGenreStringSub(genre.getLevel1(), genre.getLevel2(), country=country))
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + self.trimText(event.getEventName())
		elif self.type == self.SHORT_DESCRIPTION:
			return self.trimText(event.getShortDescription())
		elif self.type == self.EXTENDED_DESCRIPTION:
			return self.trimText(event.getExtendedDescription() or event.getShortDescription())
		elif self.type == self.FULL_DESCRIPTION:
			return self.formatDescription(event.getShortDescription(), event.getExtendedDescription())
		elif self.type == self.ID:
			return self.trimText(event.getEventId())
		elif self.type == self.PDC:
			if event.getPdcPil():
				return _("PDC")
		elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
			pil = event.getPdcPil()
			if pil:
				begin = localtime(event.getBeginTime())
				start = localtime(mktime([begin.tm_year, (pil & 0x7800) >> 11, (pil & 0xF8000) >> 15, (pil & 0x7C0) >> 6, (pil & 0x3F), 0, begin.tm_wday, begin.tm_yday, begin.tm_isdst]))
				if self.type == self.PDCTIMESHORT:
					return strftime(config.usage.time.short.value, start)
				return strftime(config.usage.date.short.value + " " + config.usage.time.short.value, start)
		elif self.type == self.ISRUNNINGSTATUS:
			if event.getPdcPil():
				running_status = event.getRunningStatus()
				if running_status == 1:
					return _("Not running")
				if running_status == 2:
					return _("Starts in a few seconds")
				if running_status == 3:
					return _("Pausing")
				if running_status == 4:
					return _("Running")
				if running_status == 5:
					return _("Service off-air")
				if running_status in (6, 7):
					return _("Reserved for future use")
				return _("Undefined")
		elif self.type in (self.NAME_NEXT, self.NAME_NEXT2) or self.type >= self.NEXT_DESCRIPTION:
			try:
				reference = self.source.service
				info = reference and self.source.info
				if info:
					test = ["ITSECX", (reference.toString(), 1, -1, 1440)]  # Search next 24 hours
					self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(test)
					if self.list:
						if self.type == self.NAME_NEXT and self.list[1][1]:
							return pgettext("now/next: 'next' event label", "Next") + ": " + self.trimText(self.list[1][1])
						elif self.type == self.NAME_NEXT2 and self.list[1][1]:
							return self.trimText(self.list[1][1])
						elif self.type == self.NEXT_DESCRIPTION and (self.list[1][2] or self.list[1][3]):
							return self.formatDescription(self.list[1][2], self.list[1][3])
						if self.type == self.THIRD_NAME and self.list[2][1]:
							return pgettext("third event: 'third' event label", "Later") + ": " + self.trimText(self.list[2][1])
						elif self.type == self.THIRD_NAME2 and self.list[2][1]:
							return self.trimText(self.list[2][1])
						elif self.type == self.THIRD_DESCRIPTION and (self.list[2][2] or self.list[2][3]):
							return self.formatDescription(self.list[2][2], self.list[2][3])
			except:
				# Failed to return any EPG data.
				if self.type == self.NAME_NEXT:
					return pgettext("now/next: 'next' event label", "Next") + ": " + self.trimText(event.getEventName())
		elif self.type == self.RAWRATING:
			rating = event.getParentalData()
			if rating:
				return "%d" % rating.getRating()
		elif self.type == self.RATINGCOUNTRY:
			rating = event.getParentalData()
			if rating:
				return rating.getCountryCode().upper()
		return ""
Example #14
0
    def getText(self):
        event = self.source.event
        if event is None:
            return ""

        if self.type == self.NAME:
            return self.trimText(event.getEventName())
        elif self.type == self.RATINGCOUNTRY:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                return rating.getCountryCode()
        elif self.type == self.RAWRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                return "%d" % int(rating.getRating())
        elif self.type == self.SRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = int(rating.getRating())
                if country.upper() == "AUS":
                    errmsg = _("BC%d") % age
                    undef = (errmsg, "")
                    return _(self.AUSRATINGS.get(age, undef)[self.AUSSHORT])
                else:
                    if age == 0:
                        return _("All ages")
                    elif age > 15:
                        return _("bc%d") % age
                    else:
                        age += 3
                        return " %d+" % age
        elif self.type == self.RATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = int(rating.getRating())
                if country.upper() == "AUS":
                    errmsg = _("Defined By Broadcaster (%d)") % age
                    undef = ("", errmsg)
                    return _(self.AUSRATINGS.get(age, undef)[self.AUSLONG])
                else:
                    if age == 0:
                        return _("Rating undefined")
                    elif age > 15:
                        return _("Rating defined by broadcaster - %d") % age
                    else:
                        age += 3
                        return _("Minimum age %d years") % age
        elif self.type == self.GENRE:
            genre = event.getGenreData()
            if genre is None:
                return ""
            else:
                return self.trimText(
                    getGenreStringSub(genre.getLevel1(), genre.getLevel2()))
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + self.trimText(event.getEventName())
        elif self.type == self.SHORT_DESCRIPTION:
            return self.trimText(event.getShortDescription())
        elif self.type == self.EXTENDED_DESCRIPTION:
            return self.trimText(event.getExtendedDescription()
                                 or event.getShortDescription())
        elif self.type == self.FULL_DESCRIPTION:
            description = self.trimText(event.getShortDescription())
            extended = self.trimText(event.getExtendedDescription())
            if description and extended:
                description += self.SEPARATOR
            return description + extended
        elif self.type == self.ID:
            return str(event.getEventId())
        elif int(self.type) in (6, 7) or int(self.type) >= 21:
            try:
                reference = self.source.service
                info = reference and self.source.info
                if info is None:
                    return
                test = ['ITSECX', (reference.toString(), 1, -1, 1440)
                        ]  # search next 24 hours
                self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(
                    test)
                if self.list:
                    if self.type == self.NAME_NEXT and self.list[1][1]:
                        return pgettext("now/next: 'next' event label",
                                        "Next") + ": " + self.trimText(
                                            self.list[1][1])
                    elif self.type == self.NAME_NEXT2 and self.list[1][1]:
                        return self.trimText(self.list[1][1])
                    elif self.type == self.NEXT_DESCRIPTION and (
                            self.list[1][2] or self.list[1][3]):
                        description = self.trimText(self.list[1][2])
                        extended = self.trimText(self.list[1][3])
                        if (description and extended) and (description[0:20] !=
                                                           extended[0:20]):
                            description += self.SEPARATOR
                        return description + extended
                    elif self.type == self.THIRD_NAME and self.list[2][1]:
                        return pgettext("third event: 'third' event label",
                                        "Later") + ": " + self.trimText(
                                            self.list[2][1])
                    elif self.type == self.THIRD_DESCRIPTION and (
                            self.list[2][2] or self.list[2][3]):
                        description = self.trimText(self.list[2][2])
                        extended = self.trimText(self.list[2][3])
                        if (description and extended) and (description[0:20] !=
                                                           extended[0:20]):
                            description += self.SEPARATOR
                        return description + extended
                    else:
                        # failed to return any epg data.
                        return ""
            except:
                # failed to return any epg data.
                if self.type == self.NAME_NEXT:
                    return pgettext("now/next: 'next' event label",
                                    "Next") + ": " + self.trimText(
                                        event.getEventName())
                return ""
Example #15
0
 def getText(self):
     event = self.source.event
     if event is None:
         return ''
     elif self.type == self.NAME:
         if event.getEventName() == 'Visibile gratis su tv terrestre e TivuSat':
             return event.getShortDescription()
         return event.getEventName()
         return event.getEventName()
     else:
         if self.type == self.SRATING:
             rating = event.getParentalData()
             if rating is None:
                 return ''
             else:
                 country = rating.getCountryCode()
                 age = rating.getRating()
                 if age == 0:
                     return _('All ages')
                 if age > 15:
                     return _('bc%s') % age
                 age += 3
                 return ' %d+' % age
         elif self.type == self.RATING:
             rating = event.getParentalData()
             if rating is None:
                 return ''
             else:
                 country = rating.getCountryCode()
                 age = rating.getRating()
                 if age == 0:
                     return _('Rating undefined')
                 if age > 15:
                     return _('Rating defined by broadcaster - %d') % age
                 age += 3
                 return _('Minimum age %d years') % age
         elif self.type == self.GENRE:
             genre = event.getGenreData()
             if genre is None:
                 return ''
             else:
                 return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
         elif self.type == self.NAME_NOW:
             if event.getEventName() == 'Visibile gratis su tv terrestre e TivuSat':
                 return pgettext("now/next: 'now' event label", 'Now') + ': ' + event.getShortDescription()
             else:
                 return pgettext("now/next: 'now' event label", 'Now') + ': ' + event.getEventName()
         elif self.type == self.NAME_NEXT:
             if event.getEventName() == 'Visibile gratis su tv terrestre e TivuSat':
                 return pgettext("now/next: 'next' event label", 'Next') + ': ' + event.getShortDescription()
             else:
                 return pgettext("now/next: 'next' event label", 'Next') + ': ' + event.getEventName()
         else:
             if self.type == self.SHORT_DESCRIPTION:
                 return event.getShortDescription()
             if self.type == self.EXTENDED_DESCRIPTION:
                 return event.getExtendedDescription() or event.getShortDescription()
             if self.type == self.FULL_DESCRIPTION:
                 description = event.getShortDescription()
                 extended = event.getExtendedDescription()
                 if description and extended:
                     description += '\n'
                 return description + extended
             if self.type == self.ID:
                 return str(event.getEventId())
         return
Example #16
0
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			return self.trimText(event.getEventName())
		elif self.type == self.RATINGCOUNTRY:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				return rating.getCountryCode()
		elif self.type == self.RAWRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				return "%d" % int(rating.getRating())
		elif self.type == self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = int(rating.getRating())
				if country.upper() == "AUS":
					errmsg = _("BC%d") % age
					undef = (errmsg, "")
					return _(self.AUSRATINGS.get(age, undef)[self.AUSSHORT])
				else:
					if age == 0:
						return _("All ages")
					elif age > 15:
						return _("bc%d") % age
					else:
						age += 3
						return " %d+" % age
		elif self.type == self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = int(rating.getRating())
				if country.upper() == "AUS":
					errmsg = _("Defined By Broadcaster (%d)") % age
					undef = ("",  errmsg)
					return _(self.AUSRATINGS.get(age, undef)[self.AUSLONG])
				else:
					if age == 0:
						return _("Rating undefined")
					elif age > 15:
						return _("Rating defined by broadcaster - %d") % age
					else:
						age += 3
						return _("Minimum age %d years") % age
		elif self.type == self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return self.trimText(getGenreStringSub(genre.getLevel1(), genre.getLevel2()))
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + self.trimText(event.getEventName())
		elif self.type == self.SHORT_DESCRIPTION:
			return self.trimText(event.getShortDescription())
		elif self.type == self.EXTENDED_DESCRIPTION:
			return self.trimText(event.getExtendedDescription() or event.getShortDescription())
		elif self.type == self.FULL_DESCRIPTION:
			description = self.trimText(event.getShortDescription())
			extended = self.trimText(event.getExtendedDescription())
			if description and extended and description.replace('\n','') == extended.replace('\n',''):
				return extended
			if description and extended:
				description += self.SEPARATOR
			return description + extended
		elif self.type == self.ID:
			return str(event.getEventId())
		elif int(self.type) in (6, 7) or int(self.type) >= 21:
			try:
				reference = self.source.service
				info = reference and self.source.info
				if info is None:
					return
				test = ['ITSECX', (reference.toString(), 1, -1, 1440)]  # search next 24 hours
				self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(test)
				if self.list:
					if self.type == self.NAME_NEXT and self.list[1][1]:
						return pgettext("now/next: 'next' event label", "Next") + ": " + self.trimText(self.list[1][1])
					elif self.type == self.NAME_NEXT2 and self.list[1][1]:
						return self.trimText(self.list[1][1])
					elif self.type == self.NEXT_DESCRIPTION and (self.list[1][2] or self.list[1][3]):
						description = self.trimText(self.list[1][2])
						extended = self.trimText(self.list[1][3])
						if (description and extended) and (description[0:20] != extended[0:20]):
							description += self.SEPARATOR
						return description + extended
					elif self.type == self.THIRD_NAME and self.list[2][1]:
						return pgettext("third event: 'third' event label", "Later") + ": " + self.trimText(self.list[2][1])
					elif self.type == self.THIRD_DESCRIPTION and (self.list[2][2] or self.list[2][3]):
						description = self.trimText(self.list[2][2])
						extended = self.trimText(self.list[2][3])
						if (description and extended) and (description[0:20] != extended[0:20]):
							description += self.SEPARATOR
						return description + extended
					else:
						# failed to return any epg data.
						return ""
			except:
				# failed to return any epg data.
				if self.type == self.NAME_NEXT:
					return pgettext("now/next: 'next' event label", "Next") + ": " + self.trimText(event.getEventName())
				return ""
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type == self.NAME:
			return event.getEventName()
		elif self.type == self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("All ages")
				elif age > 15:
					return _("bc%s") % age
				else:
					age += 3
					return " %d+" % age
		elif self.type == self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("Rating undefined")
				elif age > 15:
					return _("Rating defined by broadcaster - %d") % age
				else:
					age += 3
					return _("Minimum age %d years") % age
		elif self.type == self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
		elif self.type == self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + event.getEventName()
		elif self.type == self.SHORT_DESCRIPTION:
			return event.getShortDescription()
		elif self.type == self.EXTENDED_DESCRIPTION:
			return event.getExtendedDescription() or event.getShortDescription()
		elif self.type == self.FULL_DESCRIPTION:
			description = event.getShortDescription()
			extended = event.getExtendedDescription()
			if description and extended:
				description += '\n'
			return description + extended
		elif self.type == self.ID:
			return str(event.getEventId())
		elif self.type == self.PDC:
			if event.getPdcPil():
				return _("PDC")
			return ""
		elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
			pil = event.getPdcPil()
			if pil:
				if self.type == self.PDCTIMESHORT:
					return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
				return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15, (pil & 0x7800) >> 11, (pil & 0x7C0) >> 6, (pil & 0x3F))
			return ""
		elif self.type == self.ISRUNNINGSTATUS:
			if event.getPdcPil():
				running_status = event.getRunningStatus()
				if running_status == 1:
					return "not running"
				if running_status == 2:
					return "starts in a few seconds"
				if running_status == 3:
					return "pausing"
				if running_status == 4:
					return "running"
				if running_status == 5:
					return "service off-air"
				if running_status in (6,7):
					return "reserved for future use"
				return "undefined"
			return ""

		elif int(self.type) in (6,7) or int(self.type) >= 21:
			try:
				reference = self.source.service
				info = reference and self.source.info
				if info is None:
					return
				test = [ 'ITSECX', (reference.toString(), 1, -1, 1440) ] # search next 24 hours
				self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(test)
				if self.list:
						if self.type == self.NAME_NEXT and self.list[1][1]:
							return pgettext("now/next: 'next' event label", "Next") + ": " + self.list[1][1]
						elif self.type == self.NAME_NEXT2 and self.list[1][1]:
							return self.list[1][1]
						elif self.type == self.NEXT_DESCRIPTION and (self.list[1][2] or self.list[1][3]):
							description = self.list[1][2]
							extended = self.list[1][3]
							if (description and extended) and (description[0:20] != extended[0:20]):
								description += '\n'
							return description + extended
						elif self.type == self.THIRD_NAME and self.list[2][1]:
							return pgettext("third event: 'third' event label", "Later") + ": " + self.list[2][1]
						elif self.type == self.THIRD_DESCRIPTION and (self.list[2][2] or self.list[2][3]):
							description = self.list[2][2]
							extended = self.list[2][3]
							if (description and extended) and (description[0:20] != extended[0:20]):
								description += '\n'
							return description + extended
						else:
							# failed to return any epg data.
							return ""
			except:
				# failed to return any epg data.
				if self.type == self.NAME_NEXT:
					return pgettext("now/next: 'next' event label", "Next") + ": " + event.getEventName()
				return ""
	def getText(self):
		event = self.source.event
		if event is None:
			return ""

		if self.type is self.NAME:
			return event.getEventName()
		elif self.type is self.SRATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("All ages")
				elif age > 15:
					return _("bc%s") % age
				else:
					age += 3
					return " %d+" % age
		elif self.type is self.RATING:
			rating = event.getParentalData()
			if rating is None:
				return ""
			else:
				country = rating.getCountryCode()
				age = rating.getRating()
				if age == 0:
					return _("Rating undefined")
				elif age > 15:
					return _("Rating defined by broadcaster - %d") % age
				else:
					age += 3
					return _("Minimum age %d years") % age
		elif self.type is self.GENRE:
			genre = event.getGenreData()
			if genre is None:
				return ""
			else:
				return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
		elif self.type is self.NAME_NOW:
			return pgettext("now/next: 'now' event label", "Now") + ": " + event.getEventName()
		elif self.type is self.NAME_NEXT:
			return pgettext("now/next: 'next' event label", "Next") + ": " + event.getEventName()
		elif self.type is self.SHORT_DESCRIPTION:
			return event.getShortDescription()
		elif self.type is self.EXTENDED_DESCRIPTION:
			return event.getExtendedDescription() or event.getShortDescription()
		elif self.type is self.FULL_DESCRIPTION:
			description = event.getShortDescription()
			extended = event.getExtendedDescription()
			if description:
				if extended:
					description += '\n'
				elif "no description" in description:
					return _("no description available")
			return description + extended
		elif self.type is self.ID:
			return str(event.getEventId())
		elif self.type is self.PDC:
			if event.getPdcPil():
				return _("PDC")
			return ""
		elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
			pil = event.getPdcPil()
			if pil:
				if self.type is self.PDCTIMESHORT:
					return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
				return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15, (pil & 0x7800) >> 11, (pil & 0x7C0) >> 6, (pil & 0x3F))
			return ""
		elif self.type == self.ISRUNNINGSTATUS:
			if event.getPdcPil():
				running_status = event.getRunningStatus()
				if running_status == 1:
					return "not running"
				if running_status == 2:
					return "starts in a few seconds"
				if running_status == 3:
					return "pausing"
				if running_status == 4:
					return "running"
				if running_status == 5:
					return "service off-air"
				if running_status in (6,7):
					return "reserved for future use"
				return "undefined"
			return ""
Example #19
0
    def getText(self):
        event = self.source.event
        if event is None:
            return ""

        if self.type == self.NAME:
            return event.getEventName()
        elif self.type == self.SRATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("All ages")
                elif age > 15:
                    return _("bc%s") % age
                else:
                    age += 3
                    return " %d+" % age
        elif self.type == self.RATING:
            rating = event.getParentalData()
            if rating is None:
                return ""
            else:
                country = rating.getCountryCode()
                age = rating.getRating()
                if age == 0:
                    return _("Rating undefined")
                elif age > 15:
                    return _("Rating defined by broadcaster - %d") % age
                else:
                    age += 3
                    return _("Minimum age %d years") % age
        elif self.type == self.GENRE:
            genre = event.getGenreData()
            if genre is None:
                return ""
            else:
                return getGenreStringSub(genre.getLevel1(), genre.getLevel2())
        elif self.type == self.NAME_NOW:
            return pgettext("now/next: 'now' event label",
                            "Now") + ": " + event.getEventName()
        elif self.type == self.NAME_NEXT:
            return pgettext("now/next: 'next' event label",
                            "Next") + ": " + event.getEventName()
        elif self.type == self.SHORT_DESCRIPTION:
            return event.getShortDescription()
        elif self.type == self.EXTENDED_DESCRIPTION:
            return event.getExtendedDescription() or event.getShortDescription(
            )
        elif self.type == self.FULL_DESCRIPTION:
            description = event.getShortDescription()
            extended = event.getExtendedDescription()
            if description and extended:
                if description.replace('\n', '') == extended.replace('\n', ''):
                    return extended
                if description.find(extended):
                    return extended
                description += '\n'
            return description + extended
        elif self.type == self.ID:
            return str(event.getEventId())
        elif self.type == self.PDC:
            if event.getPdcPil():
                return _("PDC")
            return ""
        elif self.type in (self.PDCTIME, self.PDCTIMESHORT):
            pil = event.getPdcPil()
            if pil:
                if self.type == self.PDCTIMESHORT:
                    return _("%02d:%02d") % ((pil & 0x7C0) >> 6, (pil & 0x3F))
                return _("%d.%02d. %02d:%02d") % ((pil & 0xF8000) >> 15,
                                                  (pil & 0x7800) >> 11,
                                                  (pil & 0x7C0) >> 6,
                                                  (pil & 0x3F))
            return ""
        elif self.type == self.ISRUNNINGSTATUS:
            if event.getPdcPil():
                running_status = event.getRunningStatus()
                if running_status == 1:
                    return _("not running")
                if running_status == 2:
                    return _("starts in a few seconds")
                if running_status == 3:
                    return _("pausing")
                if running_status == 4:
                    return _("running")
                if running_status == 5:
                    return _("service off-air")
                if running_status in (6, 7):
                    return _("reserved for future use")
                return _("undefined")
            return ""
Example #20
0
    def getText(self):
        event = self.source.event
        if event is None:
            return ''
        elif self.type == self.NAME:
            return self.trimText(event.getEventName())
        else:
            if self.type == self.RATINGCOUNTRY:
                rating = event.getParentalData()
                if rating is None:
                    return ''
                else:
                    return rating.getCountryCode()
            elif self.type == self.RAWRATING:
                rating = event.getParentalData()
                if rating is None:
                    return ''
                else:
                    return '%d' % int(rating.getRating())
            elif self.type == self.SRATING:
                rating = event.getParentalData()
                if rating is None:
                    return ''
                else:
                    country = rating.getCountryCode()
                    age = int(rating.getRating())
                    if country.upper() == 'AUS':
                        errmsg = _('BC%d') % age
                        undef = (errmsg, '')
                        return _(self.AUSRATINGS.get(age, undef)[self.AUSSHORT])
                    if age == 0:
                        return _('All ages')
                    if age > 15:
                        return _('bc%d') % age
                    age += 3
                    return ' %d+' % age
            elif self.type == self.RATING:
                rating = event.getParentalData()
                if rating is None:
                    return ''
                else:
                    country = rating.getCountryCode()
                    age = int(rating.getRating())
                    if country.upper() == 'AUS':
                        errmsg = _('Defined By Broadcaster (%d)') % age
                        undef = ('', errmsg)
                        return _(self.AUSRATINGS.get(age, undef)[self.AUSLONG])
                    if age == 0:
                        return _('Rating undefined')
                    if age > 15:
                        return _('Rating defined by broadcaster - %d') % age
                    age += 3
                    return _('Minimum age %d years') % age
            elif self.type == self.GENRE:
                genre = event.getGenreData()
                if genre is None:
                    return ''
                else:
                    return self.trimText(getGenreStringSub(genre.getLevel1(), genre.getLevel2()))
            else:
                if self.type == self.NAME_NOW:
                    return pgettext("now/next: 'now' event label", 'Now') + ': ' + self.trimText(event.getEventName())
                if self.type == self.SHORT_DESCRIPTION:
                    return self.trimText(event.getShortDescription())
                if self.type == self.EXTENDED_DESCRIPTION:
                    return self.trimText(event.getExtendedDescription() or event.getShortDescription())
                if self.type == self.FULL_DESCRIPTION:
                    description = self.trimText(event.getShortDescription())
                    extended = self.trimText(event.getExtendedDescription())
                    if description and extended:
                        description += self.SEPARATOR
                    return description + extended
                if self.type == self.ID:
                    return str(event.getEventId())
                if int(self.type) in (6, 7) or int(self.type) >= 21:
                    try:
                        reference = self.source.service
                        info = reference and self.source.info
                        if info is None:
                            return
                        test = ['ITSECX', (reference.toString(),
                          1,
                          -1,
                          1440)]
                        self.list = [] if self.epgcache is None else self.epgcache.lookupEvent(test)
                        if self.list:
                            if self.type == self.NAME_NEXT and self.list[1][1]:
                                return pgettext("now/next: 'next' event label", 'Next') + ': ' + self.trimText(self.list[1][1])
                            elif self.type == self.NAME_NEXT2 and self.list[1][1]:
                                return self.trimText(self.list[1][1])
                            elif self.type == self.NEXT_DESCRIPTION and (self.list[1][2] or self.list[1][3]):
                                description = self.trimText(self.list[1][2])
                                extended = self.trimText(self.list[1][3])
                                if description and extended and description[0:20] != extended[0:20]:
                                    description += self.SEPARATOR
                                return description + extended
                            elif self.type == self.THIRD_NAME and self.list[2][1]:
                                return pgettext("third event: 'third' event label", 'Later') + ': ' + self.trimText(self.list[2][1])
                            elif self.type == self.THIRD_DESCRIPTION and (self.list[2][2] or self.list[2][3]):
                                description = self.trimText(self.list[2][2])
                                extended = self.trimText(self.list[2][3])
                                if description and extended and description[0:20] != extended[0:20]:
                                    description += self.SEPARATOR
                                return description + extended
                            else:
                                return ''
                    except:
                        if self.type == self.NAME_NEXT:
                            return pgettext("now/next: 'next' event label", 'Next') + ': ' + self.trimText(event.getEventName())
                        return ''

            return