def AddLiveChannel(self, data): Logger.Info("Performing Pre-Processing") # if self.channelCode != "vtm": # return data, [] username = AddonSettings.GetSetting("mediaan_username") if not username: return data, [] items = [] if self.channelCode == "vtm": item = MediaItem("Live VTM", "#livestream") else: item = MediaItem("Live Q2", "#livestream") item.type = "video" item.isLive = True item.fanart = self.fanart item.thumb = self.noImage now = datetime.datetime.now() item.SetDate(now.year, now.month, now.day, now.hour, now.minute, now.second) items.append(item) if self.channelCode == "vtm": recent = MediaItem("\a.: Recent :.", "https://vtm.be/video/volledige-afleveringen/id") item.fanart = self.fanart item.thumb = self.noImage item.dontGroup = True items.append(recent) Logger.Debug("Pre-Processing finished") return data, items
def StievieChannelMenu(self, data): items = [] live = MediaItem("Live %s" % (self.parentItem.name, ), "#livestream") live.isLive = True live.type = "video" live.description = self.parentItem.description live.metaData = self.parentItem.metaData live.thumb = self.parentItem.thumb items.append(live) if not self.__dashStreamsSupported: # Only list the channel content if DASH is supported return data, items # https://epg.medialaan.io/epg/v2/schedule?date=2017-04-25&channels%5B%5D=vtm&channels%5B%5D=2be&channels%5B%5D=vitaya&channels%5B%5D=caz&channels%5B%5D=kzoom&channels%5B%5D=kadet&channels%5B%5D=qmusic # https://epg.medialaan.io/epg/v2/schedule?date=2017-04-25&channels[]=vtm&channels[]=2be&channels[]=vitaya&channels[]=caz&channels[]=kzoom&channels[]=kadet&channels[]=qmusic # https://epg.medialaan.io/epg/v2/schedule?date=2017-05-04&channels[]=vtm&channels[]=2be&channels[]=vitaya&channels[]=caz&channels[]=kzoom&channels[]=kadet&channels[]=qmusic channelId = self.parentItem.metaData["channelId"] channels = (channelId, ) query = "&channels%%5B%%5D=%s" % ("&channels%5B%5D=".join(channels), ) today = datetime.datetime.now() days = [ "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag" ] for i in range(0, 7, 1): airDate = today - datetime.timedelta(i) Logger.Trace("Adding item for: %s", airDate) day = days[airDate.weekday()] if i == 0: day = "Vandaag" elif i == 1: day = "Gisteren" elif i == 2: day = "Eergisteren" title = "%04d-%02d-%02d - %s" % (airDate.year, airDate.month, airDate.day, day) url = "https://epg.medialaan.io/epg/v2/schedule?date=%d-%02d-%02d%s" % ( airDate.year, airDate.month, airDate.day, query) extra = MediaItem(title, url) extra.complete = True extra.icon = self.icon extra.thumb = self.noImage extra.dontGroup = True extra.SetDate(airDate.year, airDate.month, airDate.day, text="") extra.metaData["airDate"] = airDate items.append(extra) return data, items
def CreateVideoItemJson(self, resultSet): Logger.Trace(resultSet) title = resultSet['title'] url = "https://vod.medialaan.io/vod/v2/videos/%(id)s" % resultSet item = MediaItem(title, url, type="video") item.description = resultSet.get('text') item.thumb = self.parentItem.thumb if 'image' in resultSet: item.thumb = resultSet['image'].get("full", None) created = DateHelper.GetDateFromPosix(resultSet['created']) item.SetDate(created.year, created.month, created.day, created.hour, created.minute, created.second) return item
def CreateVideoItemHtml(self, resultSet): """Creates a MediaItem of type 'video' using the resultSet from the regex. Arguments: resultSet : tuple (string) - the resultSet of the self.videoItemRegex Returns: A new MediaItem of type 'video' or 'audio' (despite the method's name) This method creates a new MediaItem from the Regular Expression or Json results <resultSet>. The method should be implemented by derived classes and are specific to the channel. If the item is completely processed an no further data needs to be fetched the self.complete property should be set to True. If not set to True, the self.UpdateVideoItem method is called if the item is focussed or selected for playback. """ Logger.Trace(resultSet) title = resultSet['title'] if title: title = title.strip() if 'subtitle' in resultSet and title: title = "%s - %s" % (title, resultSet['subtitle'].strip()) elif 'subtitle' in resultSet: title = resultSet['subtitle'].strip() if not title: Logger.Warning("Item without title found: %s", resultSet) return None url = resultSet["url"].replace(' ', ' ') if not resultSet["url"].startswith("http"): url = "%s/%s" % (self.baseUrl, resultSet["url"]) item = MediaItem(title, url, type="video") item.thumb = resultSet['thumburl'] item.complete = False if "year" in resultSet and resultSet["year"]: item.SetDate(resultSet["year"], resultSet["month"], resultSet["day"]) return item
def StievieMenu(self, data): """ Creates the main Stievie menu """ items = [] if not self.__dashStreamsSupported: return data, items programs = MediaItem("\b.: Programma's :.", "https://vod.medialaan.io/vod/v2/programs?offset=0&limit=0") programs.dontGroup = True items.append(programs) search = MediaItem("Zoeken", "searchSite") search.complete = True search.icon = self.icon search.thumb = self.noImage search.dontGroup = True search.SetDate(2200, 1, 1, text="") items.append(search) return data, items