def get_stream_url(data_url): utils.log("Getting URL for channel: " + data_url) config.login_check() streamurl = None url = API_ENDPOINT + "/api/v1.7/get/content/live-streams/" + data_url + "?include=quality" opener = get_url_opener() opener.addheaders.append(('Authorization', "Bearer " + config.get_setting(constants.TOKEN))) response = opener.open(url) response_text = response.read() response_code = response.getcode() if response_code != 200: config.set_setting_bool(constants.LOGGED_IN, False) raise ApiError( "Got incorrect response code while requesting stream info. Reponse code: " + response_code + ";\nText: " + response_text) json_object = None try: json_object = json.loads(response_text) except ValueError, e: config.set_setting(constants.LOGGED_IN, False) raise ApiError("Did not receive json, something wrong: " + response_text)
def get_stream_url(data_url): utils.log("Getting URL for channel: " + data_url) config.login_check() streamurl = None url = API_ENDPOINT + "/api/v1.4/get/content/live-streams/" + data_url + "?include=quality" opener = get_url_opener() opener.addheaders.append( ('Authorization', "Bearer " + config.get_setting(constants.TOKEN))) response = opener.open(url) response_text = response.read() response_code = response.getcode() if response_code != 200: config.set_setting_bool(constants.LOGGED_IN, False) raise ApiError( "Got incorrect response code while requesting stream info. Reponse code: " + response_code + ";\nText: " + response_text) json_object = None try: json_object = json.loads(response_text) except ValueError, e: config.set_setting(constants.LOGGED_IN, False) raise ApiError("Did not receive json, something wrong: " + response_text)
def get_stream_url(data_url): utils.log("Getting URL for channel: " + data_url) config.login_check() streamurl = None url = API_ENDPOINT + "/get/content/live-streams/" + data_url + "?include=quality" opener = get_url_opener() opener.addheaders.append( ('Authorization', "Bearer " + config.get_setting(constants.TOKEN))) response = None try: response = opener.open(url) except urllib.error.HTTPError as e: config.set_setting(constants.LOGGED_IN, "False") raise ApiError("Something wrong: " + e.code) response_text = response.read() response_code = response.getcode() if response_code != 200: config.set_setting_bool(constants.LOGGED_IN, "False") raise ApiError( "Got incorrect response code while requesting stream info. Reponse code: " + response_code + ";\nText: " + response_text) json_object = None try: json_object = json.loads(response_text) except ValueError: config.set_setting(constants.LOGGED_IN, "False") raise ApiError("Did not receive json, something wrong: " + response_text) stream_links = {} for stream in json_object["data"]: if stream["type"] != "live-streams": continue url = stream["attributes"][ "stream-url"] + "&auth_token=app_" + config.get_setting( constants.TOKEN) if "_lq.stream" in stream["id"]: stream_links["3-lq"] = url elif "_mq.stream" in stream["id"]: stream_links["2-mq"] = url elif "_hq.stream" in stream["id"]: stream_links["1-hq"] = url elif "_hd.stream" in stream["id"]: stream_links["0-hd"] = url for key in sorted(stream_links.keys()): streamurl = stream_links[key] break return streamurl
def get_channels(): config.login_check() url = API_ENDPOINT + '/api/v1.4/get/tv/channels' opener = get_url_opener() response = opener.open(url) response_text = response.read() response_code = response.getcode() if response_code != 200: raise ApiError( "Got incorrect response code while requesting channel list. Reponse code: " + response_code + ";\nText: " + response_text) json_object = None try: json_object = json.loads(response_text) except ValueError, e: raise ApiError("Did not receive json, something wrong: " + response_text)
def get_channels(): config.login_check() url = API_ENDPOINT + '/get/content/packages?include=channels' opener = get_url_opener() response = opener.open(url) response_text = response.read() response_code = response.getcode() if response_code != 200: raise ApiError( "Got incorrect response code while requesting channel list. Reponse code: " + response_code + ";\nText: " + response_text) json_object = None try: json_object = json.loads(response_text) except ValueError, e: raise ApiError("Did not receive json, something wrong: " + response_text)
def get_channels(): config.login_check() url = API_ENDPOINT + '/get/content/packages?include=channels' opener = get_url_opener() response = opener.open(url) response_text = response.read() response_code = response.getcode() if response_code != 200: raise ApiError( "Got incorrect response code while requesting channel list. Reponse code: " + response_code + ";\nText: " + response_text) json_object = None try: json_object = json.loads(response_text) except ValueError: raise ApiError("Did not receive json, something wrong: " + response_text) if "included" not in json_object: raise ApiError("Invalid response: " + response_text) channels = [] for item in json_object["included"]: if "type" not in item or "id" not in item: continue if item["type"] != "channels": continue if item["attributes"] is None or item["attributes"]["title"] is None: continue channels.append({ 'id': item["id"], 'name': item["attributes"]["title"], 'logo': item["attributes"]["logo-url"], 'thumb': item["attributes"]["epg-default-poster-url"] }) return channels
def get_epg(date): utils.log("Getting EPG for date: " + date) config.login_check() url = API_ENDPOINT + "/api/v1.4/get/tv/epg/?daynight=" + date opener = get_url_opener() opener.addheaders.append(('Authorization', "Bearer " + config.get_setting(constants.TOKEN))) response = opener.open(url) response_text = response.read() response_code = response.getcode() if response_code != 200: config.set_setting_bool(constants.LOGGED_IN, False) raise ApiError( "Got bad response from EPG service. Response code: " + response_code) json_object = None try: json_object = json.loads(response_text) except ValueError, e: config.set_setting(constants.LOGGED_IN, False) raise ApiError("Did not receive json, something wrong: " + response_text)