parameter = parameter.split()[0]
url = util.get_url_from_input(parameter)
if url:
- music_wrapper = get_item_wrapper_from_scrap(bot, type='radio', url=url)
+ music_wrapper = get_item_wrapper_from_scrap(bot, type='radio', url=url, user=user)
var.playlist.append(music_wrapper)
log.info("cmd: add to playlist: " + music_wrapper.format_debug_string())
if len(var.playlist) > 0:
bot.interrupt()
- var.playlist.point_to(len(var.playlist) - 1)
+ var.playlist.point_to(len(var.playlist) - 1 - 1)
else:
bot.send_msg(constants.strings('queue_empty'), text)
var.playlist.current_index + 1,
music
)
- log.info("bot: add to playlist: " + music.format_debug_string)
+ log.info("bot: add to playlist: " + music.format_debug_string())
bot.send_msg(constants.strings("repeat", song=music.format_song_string(), n=str(repeat)), text)
url_shoutcast = base_url + '/stats?json=1'
title_server = None
try:
- r = requests.get(url_shoutcast, timeout=5)
+ r = requests.get(url_shoutcast, timeout=10)
data = r.json()
title_server = data['servertitle']
return title_server
# logging.info("TITLE FOUND SHOUTCAST: " + title_server)
- except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError, requests.exceptions.Timeout) as e:
+ except (requests.exceptions.ConnectionError,
+ requests.exceptions.HTTPError,
+ requests.exceptions.ReadTimeout,
+ requests.exceptions.Timeout) as e:
error_traceback = traceback.format_exc()
error = error_traceback.rstrip().split("\n")[-1]
log.debug("radio: unsuccessful attempts on fetching radio description (shoutcast): " + error)
return False # ?
try:
- r = requests.get(url_icecast, timeout=5)
+ r = requests.get(url_icecast, timeout=10)
data = r.json()
source = data['icestats']['source']
if type(source) is list:
title_server += ' - ' + source['server_description']
# logging.info("TITLE FOUND ICECAST: " + title_server)
return title_server
- except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError, requests.exceptions.Timeout) as e:
+ except (requests.exceptions.ConnectionError,
+ requests.exceptions.HTTPError,
+ requests.exceptions.ReadTimeout,
+ requests.exceptions.Timeout) as e:
error_traceback = traceback.format_exc()
error = error_traceback.rstrip().split("\n")[-1]
log.debug("radio: unsuccessful attempts on fetching radio description (icecast): " + error)
log.debug("radio: fetching radio server description")
try:
- r = requests.get(url, headers={'Icy-MetaData': '1'}, stream=True, timeout=5)
+ r = requests.get(url, headers={'Icy-MetaData': '1'}, stream=True, timeout=10)
icy_metaint_header = int(r.headers['icy-metaint'])
r.raw.read(icy_metaint_header)
title = m.group(1)
if title:
return title.decode()
- except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError) as e:
- pass
+ except (requests.exceptions.ConnectionError,
+ requests.exceptions.HTTPError,
+ requests.exceptions.ReadTimeout,
+ requests.exceptions.Timeout) as e:
+ error_traceback = traceback.format_exc()
+ error = error_traceback.rstrip().split("\n")[-1]
+ log.debug("radio: unsuccessful attempts on fetching radio title (icy): " + e)
return url
dict['url'] = self.url
dict['title'] = self.title
+ return dict
+
def format_debug_string(self):
return "[radio] {name} ({url})".format(
name=self.title,