fHDHR_IPTVorg-US/origin/origin_channels.py
deathbybandaid 5ddede8c9e test
2020-12-09 09:57:28 -05:00

63 lines
2.2 KiB
Python

class OriginChannels():
def __init__(self, fhdhr, origin):
self.fhdhr = fhdhr
self.origin = origin
def get_channels(self):
self.fhdhr.logger.info("Pulling Unfiltered Channels Lists: %s" % self.origin.channels_json_url)
urlopn = self.fhdhr.web.session.get(self.origin.channels_json_url)
unfiltered_chan_json = urlopn.json()
self.fhdhr.logger.info("Found %s Total Channels Lists" % len(unfiltered_chan_json))
filtered_chan_list = self.filterlist(unfiltered_chan_json)
self.fhdhr.logger.info("Found %s Channels Lists after applying filters." % len(filtered_chan_list))
return
channel_list = []
return channel_list
def filterlist(self, unfiltered_chan_json):
filtered_chan_list = []
for channels_item in unfiltered_chan_json:
filters_passed = []
for filter_key in list(self.origin.filter_dict.keys()):
if len(self.origin.filter_dict[filter_key]):
if filter_key in ["country"]:
try:
chan_value = channels_item[filter_key]["name"]
except TypeError:
chan_value = None
print(channels_item[filter_key])
elif filter_key in ["language"]:
try:
chan_value = channels_item[filter_key]["name"]
except TypeError:
chan_value = None
# print(channels_item[filter_key])
elif filter_key in ["category"]:
chan_value = channels_item[filter_key]
if not chan_value:
filters_passed.append(False)
elif str(chan_value).lower() in [x.lower() for x in self.origin.filter_dict[filter_key]]:
filters_passed.append(True)
else:
filters_passed.append(False)
if False not in filters_passed:
filtered_chan_list.append(channels_item)
return filtered_chan_list
def get_channel_stream(self, chandict):
streamurl = ""
return streamurl