import m3u8 class OriginChannels(): def __init__(self, fhdhr, origin): self.fhdhr = fhdhr self.origin = origin self.base_api = 'https://valencia-app-mds.xumo.com/v2/' def get_channels(self): channel_list = [] channel_json_path = 'channels/list/%s.json?sort=hybrid&geoId=%s' % (self.origin.geoLST, self.origin.geoID) channel_json_url = self.base_api + channel_json_path api_json = self.fhdhr.web.session.get(channel_json_url).json() for channel in api_json['channel']['item']: print(channel["title"]) print(len(api_json['channel']['item'])) return return channel_list def get_channel_stream(self, chandict): streamurl = '' # if self.fhdhr.config.dict["origin"]["force_best"]: # streamurl = self.m3u8_beststream(streamurl) return streamurl def m3u8_beststream(self, m3u8_url): bestStream = None videoUrlM3u = m3u8.load(m3u8_url) if not videoUrlM3u.is_variant: return m3u8_url for videoStream in videoUrlM3u.playlists: if not bestStream: bestStream = videoStream elif videoStream.stream_info.bandwidth > bestStream.stream_info.bandwidth: bestStream = videoStream if not bestStream: return bestStream.absolute_uri else: return m3u8_url