radio: don't get stuck on mpd http streams

Merge pull request #285 from mweinelt/mpd-radio-stream
This commit is contained in:
azlux 2021-06-01 23:39:44 +02:00 committed by GitHub
commit ba02cdebf2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -22,8 +22,10 @@ def get_radio_server_description(url):
url_icecast = base_url + '/status-json.xsl'
url_shoutcast = base_url + '/stats?json=1'
try:
r = requests.get(url_shoutcast, timeout=10)
data = r.json()
response = requests.head(url_shoutcast, timeout=3)
if not response.headers.get('content-type', '').startswith(("audio/", "video/")):
response = requests.get(url_shoutcast, timeout=10)
data = response.json()
title_server = data['servertitle']
return title_server
# logging.info("TITLE FOUND SHOUTCAST: " + title_server)
@ -38,8 +40,10 @@ def get_radio_server_description(url):
return url
try:
r = requests.get(url_icecast, timeout=10)
data = r.json()
response = requests.head(url_shoutcast, timeout=3)
if not response.headers.get('content-type', '').startswith(("audio/", "video/")):
response = requests.get(url_icecast, timeout=10)
data = response.json()
source = data['icestats']['source']
if type(source) is list:
source = source[0]