fHDHR_IPTVorg-US/origin/origin_channels.py
deathbybandaid b555ac1dd0 test
2020-12-09 09:37:04 -05:00

57 lines
2.0 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 = []
print(unfiltered_chan_json[0])
for channels_item in unfiltered_chan_json:
filters_passed = True
for filter_key in list(self.origin.filter_dict.keys()):
if len(self.origin.filter_dict[filter_key]) and filters_passed:
if filter_key in ["country", "language"]:
try:
chan_value = channels_item[filter_key]["name"]
except TypeError:
chan_value = None
elif filter_key in ["category"]:
chan_value = channels_item[filter_key]
if str(chan_value).lower() in [x.lower() for x in self.origin.filter_dict[filter_key]]:
print(chan_value)
if (not chan_value or
str(chan_value).lower() not in [x.lower() for x in self.origin.filter_dict[filter_key]]):
filters_passed = False
if filters_passed:
filtered_chan_list.append(channels_item)
return filtered_chan_list
def get_channel_stream(self, chandict):
streamurl = ""
return streamurl