diff --git a/fHDHR/origin/origin_channels.py b/fHDHR/origin/origin_channels.py index f0e1c41..6205118 100644 --- a/fHDHR/origin/origin_channels.py +++ b/fHDHR/origin/origin_channels.py @@ -7,38 +7,56 @@ class OriginChannels(): self.fhdhr = fhdhr self.origin = origin - self.base_api = 'http://watchtoonamiaftermath.com/api/linear/channels' + self.channel_json_url = "https://www.toonamiaftermath.com/tatv.json" + self.base_api = 'https://api.toonamiaftermath.com' + self.stream_url_base = "%s/streamUrl?&useHttps=true&channelName=" % self.base_api def get_channels(self): channel_list = [] - - channels_json = self.fhdhr.web.session.get(self.base_api).json() + channels_json = self.fhdhr.web.session.get(self.channel_json_url).json() for channel_dict in channels_json: - if not channel_dict["disabled"]: - clean_station_item = { - "name": channel_dict["config"]["affiliation"] or channel_dict["config"]["callsign"], - "callsign": channel_dict["config"]["callsign"], - "id": channel_dict["identifier"], - "thumbnail": channel_dict["icon"], + clean_station_item = { + "name": channel_dict["title"], + "callsign": channel_dict["id"].title(), + "id": channel_dict["id"], + } + channel_list.append(clean_station_item) + + movie_channel = { + "name": "Toonami Movies", + "callsign": "Movies", + "id": "movies", + } + channel_list.append(movie_channel) + + snickelodeon_est_channel = { + "name": "Snickelodeon (Eastern Time)", + "callsign": "SNick-EST", + "id": "snick-est", } - channel_list.append(clean_station_item) + channel_list.append(snickelodeon_est_channel) + snickelodeon_pst_channel = { + "name": "Snickelodeon (Pacific Time)", + "callsign": "SNick-PST", + "id": "snick-pst", + } + channel_list.append(snickelodeon_pst_channel) return channel_list def get_channel_stream(self, chandict): - channels_json = self.fhdhr.web.session.get(self.base_api).json() - origin_chandict = self.get_channel_dict(channels_json, "identifier", chandict["origin_id"]) - streamdict = self.get_channel_dict(origin_chandict["streams"], "StreamType", 'website') - streamurl = streamdict['Url'] + if "pst" in chandict["origin_id"]: + streamurl = self.stream_url_base + chandict["origin_id"].replace("pst", "est") + streamurl += "&streamDelay=180" + else: + streamurl = self.stream_url_base + chandict["origin_id"] + streamurl = self.fhdhr.web.session.get(streamurl).text if self.fhdhr.config.dict["origin"]["force_best"]: streamurl = self.m3u8_beststream(streamurl) return streamurl - def get_channel_dict(self, chanlist, keyfind, valfind): - return next(item for item in chanlist if item[keyfind] == valfind) - def m3u8_beststream(self, m3u8_url): bestStream = None videoUrlM3u = m3u8.load(m3u8_url) diff --git a/fHDHR/origin/origin_epg.py b/fHDHR/origin/origin_epg.py index 525eb69..316b66d 100644 --- a/fHDHR/origin/origin_epg.py +++ b/fHDHR/origin/origin_epg.py @@ -5,7 +5,27 @@ class OriginEPG(): def __init__(self, fhdhr): self.fhdhr = fhdhr + self.base_api = 'https://api.toonamiaftermath.com' + self.media_url = "%s/media" % self.base_api + def update_epg(self, fhdhr_channels): programguide = {} + """ + datestring = str(datetime.date.today()) + + for schedule in ["Toonami Aftermath", "Snickelodeon"]: + schedulename_quote = urllib.parse.quote("%s EST" % schedule) + schedule_url = ("%s?scheduleName=%s" + "&dateString=%s" + "&count=150" % + (self.media_url, schedulename_quote, datestring)) + + return + + channels_json = self.fhdhr.web.session.get(self.base_api).json() + + return channel_list + """ + return programguide