From d2629544fdc89b0e7c5d6819c61a6a7c70843834 Mon Sep 17 00:00:00 2001 From: deathbybandaid Date: Wed, 16 Dec 2020 15:48:14 -0500 Subject: [PATCH] test --- origin/origin_epg.py | 64 ++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/origin/origin_epg.py b/origin/origin_epg.py index ab3ff4e..e4d6015 100644 --- a/origin/origin_epg.py +++ b/origin/origin_epg.py @@ -1,4 +1,5 @@ import datetime +import json class OriginEPG(): @@ -18,41 +19,46 @@ class OriginEPG(): programguide[str(chan_obj.number)] = chan_obj.epgdict epg_opn = self.fhdhr.web.session.get(self.base_epg_url + str(chan_obj.dict["origin_id"])) - epg_json = epg_opn.json() + try: + epg_json = epg_opn.json() + except json.JSONDecodeError: + epg_json = None - current_channel_id = chan_obj.dict["origin_id"] + if epg_json: - for listing in epg_json["programme"]: + current_channel_id = chan_obj.dict["origin_id"] - if listing["channel"] != current_channel_id: - listing_chan_obj = fhdhr_channels.get_channel_obj("origin_id", listing["channel"]) - if str(listing_chan_obj.number) not in list(programguide.keys()): - programguide[str(listing_chan_obj.number)] = listing_chan_obj.epgdict - else: - listing_chan_obj = chan_obj + for listing in epg_json["programme"]: - timestampdict = self.stirr_time_convert(listing["start"], listing["stop"]) + if listing["channel"] != current_channel_id: + listing_chan_obj = fhdhr_channels.get_channel_obj("origin_id", listing["channel"]) + if str(listing_chan_obj.number) not in list(programguide.keys()): + programguide[str(listing_chan_obj.number)] = listing_chan_obj.epgdict + else: + listing_chan_obj = chan_obj - clean_prog_dict = { - "time_start": timestampdict["start"], - "time_end": timestampdict["end"], - "duration_minutes": timestampdict["duration"], - "title": listing["title"]["value"], - "sub-title": "Unavailable", - "description": listing["desc"]["value"], - "rating": "N/A", - "episodetitle": None, - "releaseyear": None, - "genres": [], - "seasonnumber": None, - "episodenumber": None, - "isnew": False, - "id": "%s_%s" % (chan_obj.dict["origin_id"], timestampdict['start']), - "thumbnail": None - } + timestampdict = self.stirr_time_convert(listing["start"], listing["stop"]) - if not any((d['time_start'] == clean_prog_dict['time_start'] and d['id'] == clean_prog_dict['id']) for d in programguide[listing_chan_obj.number]["listing"]): - programguide[str(listing_chan_obj.number)]["listing"].append(clean_prog_dict) + clean_prog_dict = { + "time_start": timestampdict["start"], + "time_end": timestampdict["end"], + "duration_minutes": timestampdict["duration"], + "title": listing["title"]["value"], + "sub-title": "Unavailable", + "description": listing["desc"]["value"], + "rating": "N/A", + "episodetitle": None, + "releaseyear": None, + "genres": [], + "seasonnumber": None, + "episodenumber": None, + "isnew": False, + "id": "%s_%s" % (chan_obj.dict["origin_id"], timestampdict['start']), + "thumbnail": None + } + + if not any((d['time_start'] == clean_prog_dict['time_start'] and d['id'] == clean_prog_dict['id']) for d in programguide[listing_chan_obj.number]["listing"]): + programguide[str(listing_chan_obj.number)]["listing"].append(clean_prog_dict) return programguide