Removed no longer supported API interactions,

This commit is contained in:
Eric van Blokland
2021-09-01 20:29:22 +02:00
parent 2273fe5afb
commit 7e8b43de25

View File

@@ -30,7 +30,6 @@ class RadioNetClient(object):
base_url = 'https://radio.net/' base_url = 'https://radio.net/'
session = requests.Session() session = requests.Session()
api_key = None
api_prefix = None api_prefix = None
min_bitrate = 96 min_bitrate = 96
max_top_stations = 100 max_top_stations = 100
@@ -49,6 +48,8 @@ class RadioNetClient(object):
proxy = httpclient.format_proxy(proxy_config) proxy = httpclient.format_proxy(proxy_config)
self.session.proxies.update({'http': proxy, 'https': proxy}) self.session.proxies.update({'http': proxy, 'https': proxy})
if user_agent is None:
user_agent = "Mopidy Radio Client"
full_user_agent = httpclient.format_user_agent(user_agent) full_user_agent = httpclient.format_user_agent(user_agent)
self.session.headers.update({'user-agent': full_user_agent}) self.session.headers.update({'user-agent': full_user_agent})
self.session.headers.update({'cache-control': 'no-cache'}) self.session.headers.update({'cache-control': 'no-cache'})
@@ -65,43 +66,16 @@ class RadioNetClient(object):
self.local_stations = [] self.local_stations = []
self.search_results = [] self.search_results = []
def current_milli_time(self): def set_api_prefix(self):
return int(round(time.time() * 1000)) if self.api_prefix is not None:
def get_api_key(self):
if self.api_key is not None:
return return
tmp_str = self.session.get(self.base_url) tmp_str = self.session.get(self.base_url)
# apiprefix_search = re.search('apiPrefix ?: ?\'(.*)\',?', tmp_str.content.decode())
# self.api_prefix = apiprefix_search.group(1)
lang = self.base_url.split('.')[-1].replace('/', '') lang = self.base_url.split('.')[-1].replace('/', '')
self.api_prefix = "https://api.radio." + lang + "/info/v2" self.api_prefix = "https://api.radio." + lang + "/info/v2"
apikey_search = re.search('apiKey ?: ?[\'|"](.*)[\'|"],?', tmp_str.content.decode())
self.api_key = apikey_search.group(1)
logger.info('Radio.net: APIPREFIX %s' % self.api_prefix)
logger.info('Radio.net: APIKEY %s' % self.api_key)
def do_post(self, api_sufix, url_params=None, payload=None):
self.get_api_key()
if 'apikey' in url_params.keys():
url_params['apikey'] = self.api_key
response = self.session.post(self.api_prefix + api_sufix,
params=url_params, data=payload)
return response
def do_get(self, api_sufix, url_params=None): def do_get(self, api_sufix, url_params=None):
self.get_api_key() self.set_api_prefix()
if 'apikey' in url_params.keys():
url_params['apikey'] = self.api_key
response = self.session.get(self.api_prefix + api_sufix, response = self.session.get(self.api_prefix + api_sufix,
params=url_params) params=url_params)
@@ -112,8 +86,6 @@ class RadioNetClient(object):
api_suffix = '/search/station' api_suffix = '/search/station'
url_params = { url_params = {
'apikey': self.api_key,
'_': self.current_milli_time(),
'station': station_id, 'station': station_id,
} }
@@ -149,13 +121,11 @@ class RadioNetClient(object):
api_suffix = '/search/localstations' api_suffix = '/search/localstations'
url_params = { url_params = {
'apikey': self.api_key,
'_': self.current_milli_time(),
'pageindex': 1, 'pageindex': 1,
'sizeperpage': 100, 'sizeperpage': 100,
} }
response = self.do_post(api_suffix, url_params) response = self.do_get(api_suffix, url_params)
if response.status_code is not 200: if response.status_code is not 200:
logger.error('Radio.net: Get local stations error. ' + logger.error('Radio.net: Get local stations error. ' +
@@ -181,13 +151,11 @@ class RadioNetClient(object):
for station in self.favortes: for station in self.favortes:
api_suffix = '/search/stationsonly' api_suffix = '/search/stationsonly'
url_params = { url_params = {
'apikey': self.api_key,
'_': self.current_milli_time(),
'query': station, 'query': station,
'pageindex': 1, 'pageindex': 1,
} }
response = self.do_post(api_suffix, url_params) response = self.do_get(api_suffix, url_params)
if response.status_code is not 200: if response.status_code is not 200:
logger.error('Radio.net: Search error ' + response.text) logger.error('Radio.net: Search error ' + response.text)
@@ -208,13 +176,11 @@ class RadioNetClient(object):
api_suffix = '/search/topstations' api_suffix = '/search/topstations'
url_params = { url_params = {
'apikey': self.api_key,
'_': self.current_milli_time(),
'pageindex': 1, 'pageindex': 1,
'sizeperpage': 100, 'sizeperpage': 100,
} }
response = self.do_post(api_suffix, url_params) response = self.do_get(api_suffix, url_params)
if response.status_code is not 200: if response.status_code is not 200:
logger.error('Radio.net: Get top stations error. ' + response.text) logger.error('Radio.net: Get top stations error. ' + response.text)
@@ -236,13 +202,11 @@ class RadioNetClient(object):
api_suffix = '/search/stationsonly' api_suffix = '/search/stationsonly'
url_params = { url_params = {
'apikey': self.api_key,
'_': self.current_milli_time(),
'query': query_string, 'query': query_string,
'pageindex': page_index, 'pageindex': page_index,
} }
response = self.do_post(api_suffix, url_params) response = self.do_get(api_suffix, url_params)
if response.status_code is not 200: if response.status_code is not 200:
logger.error('Radio.net: Search error ' + response.text) logger.error('Radio.net: Search error ' + response.text)