fix radio description
This commit is contained in:
parent
42a99352df
commit
3539df5400
11
README.md
11
README.md
@ -17,7 +17,8 @@ Bot the can play :
|
|||||||
4. [Generate a certificate](#optional-generate-a-certificate)
|
4. [Generate a certificate](#optional-generate-a-certificate)
|
||||||
5. [Starting the bot](#starting-the-bot)
|
5. [Starting the bot](#starting-the-bot)
|
||||||
6. [Custom commands](#custom-commands)
|
6. [Custom commands](#custom-commands)
|
||||||
7. [Contributors](#contributors)
|
7. [Known issues](#known-issues)
|
||||||
|
8. [Contributors](#contributors)
|
||||||
|
|
||||||
|
|
||||||
### Web interface
|
### Web interface
|
||||||
@ -86,6 +87,14 @@ you have the section :
|
|||||||
- strings : you can customize all string the bot can say.
|
- strings : you can customize all string the bot can say.
|
||||||
- debug : option to activate ffmpeg or pymumble debug. (Can be very verbose)
|
- debug : option to activate ffmpeg or pymumble debug. (Can be very verbose)
|
||||||
|
|
||||||
|
### Known Issues
|
||||||
|
|
||||||
|
During installation, you can have the error:
|
||||||
|
```
|
||||||
|
ImportError: libtiff.so.5: cannot open shared object file: No such file or directory
|
||||||
|
```
|
||||||
|
You need to install a missing system librairie: `apt install libtiff5`
|
||||||
|
|
||||||
### Contributors
|
### Contributors
|
||||||
If you want to participate, You're welcome to fork and pull requests (fixes and new features).
|
If you want to participate, You're welcome to fork and pull requests (fixes and new features).
|
||||||
|
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import re
|
import re
|
||||||
import urllib
|
import urllib.request
|
||||||
|
import urllib.error
|
||||||
import logging
|
import logging
|
||||||
import json
|
import json
|
||||||
import http.client
|
import http.client
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
|
|
||||||
def get_radio_server_description(url):
|
def get_radio_server_description(url):
|
||||||
p = re.compile('(https?\:\/\/[^\/]*)', re.IGNORECASE)
|
p = re.compile('(https?\:\/\/[^\/]*)', re.IGNORECASE)
|
||||||
res = re.search(p, url)
|
res = re.search(p, url)
|
||||||
@ -29,18 +31,20 @@ def get_radio_server_description(url):
|
|||||||
try:
|
try:
|
||||||
request = urllib.request.Request(url_icecast)
|
request = urllib.request.Request(url_icecast)
|
||||||
response = urllib.request.urlopen(request)
|
response = urllib.request.urlopen(request)
|
||||||
data = json.loads(response.read().decode('utf-8', errors='ignore'), strict=False)
|
response_data = response.read().decode('utf-8', errors='ignore')
|
||||||
source = data['icestats']['source']
|
if response_data:
|
||||||
if type(source) is list:
|
data = json.loads(response_data, strict=False)
|
||||||
source = source[0]
|
source = data['icestats']['source']
|
||||||
title_server = source['server_name'] + ' - ' + source['server_description']
|
if type(source) is list:
|
||||||
logging.info("TITLE FOUND ICECAST: " + title_server)
|
source = source[0]
|
||||||
if not title_server:
|
title_server = source['server_name']
|
||||||
title_server = url
|
if 'server_description' in source:
|
||||||
|
title_server += ' - ' + source['server_description']
|
||||||
|
logging.info("TITLE FOUND ICECAST: " + title_server)
|
||||||
|
if not title_server:
|
||||||
|
title_server = url
|
||||||
except urllib.error.URLError:
|
except urllib.error.URLError:
|
||||||
title_server = url
|
title_server = url
|
||||||
except urllib.error.HTTPError:
|
|
||||||
return False
|
|
||||||
except http.client.BadStatusLine:
|
except http.client.BadStatusLine:
|
||||||
pass
|
pass
|
||||||
return title_server
|
return title_server
|
||||||
@ -67,4 +71,3 @@ def get_radio_title(url):
|
|||||||
except (urllib.error.URLError, urllib.error.HTTPError):
|
except (urllib.error.URLError, urllib.error.HTTPError):
|
||||||
pass
|
pass
|
||||||
return 'Unable to get the music title'
|
return 'Unable to get the music title'
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user