fix exception if mp3 has no ID3 tag

This commit is contained in:
Terry Geng 2020-02-05 11:48:31 +08:00
parent c1c7c9851f
commit 25f3596372
2 changed files with 25 additions and 23 deletions

View File

@ -163,7 +163,7 @@ def index():
logging.info("web: add to playlist: " + request.form['add_radio'])
elif 'delete_music' in request.form:
logging.info("web: delete from playlist: " + var.playlist.playlist[int(request.form['delete_music'])])
logging.info("web: delete from playlist: " + var.playlist.playlist[int(request.form['delete_music'])]['path'])
if len(var.playlist.playlist) >= int(request.form['delete_music']):
if var.playlist.current_index == int(request.form['delete_music']):
var.botamusique.pause()
@ -172,9 +172,8 @@ def index():
else:
var.playlist.remove(int(request.form['delete_music']))
elif 'play_music' in request.form:
logging.info("web: jump to: " + var.playlist.playlist[int(request.form['play_music'])])
logging.info("web: jump to: " + var.playlist.playlist[int(request.form['play_music'])]['path'])
if len(var.playlist.playlist) >= int(request.form['play_music']):
var.botamusique.pause()
var.botamusique.launch_music(int(request.form['play_music']))

View File

@ -685,7 +685,7 @@ class MumbleBot:
command = ("ffmpeg", '-v', ffmpeg_debug, '-nostdin', '-i',
uri, '-ac', '1', '-f', 's16le', '-ar', '48000', '-')
logging.info("FFmpeg command : " + " ".join(command))
logging.info("bot: execute ffmpeg command: " + " ".join(command))
# The ffmpeg process is a thread
self.thread = sp.Popen(command, stdout=sp.PIPE, bufsize=480)
self.is_playing = True
@ -782,6 +782,7 @@ class MumbleBot:
uri = music['path']
if os.path.isfile(uri):
try:
audio = EasyID3(uri)
if audio["title"]:
# take the title from the file tag
@ -807,6 +808,8 @@ class MumbleBot:
im = im.convert('RGB')
im.save(buffer, format="JPEG")
music['thumbnail'] = base64.b64encode(buffer.getvalue()).decode('utf-8')
except:
pass
return music