diff --git a/interface.py b/interface.py index 7ed1292..e00db07 100644 --- a/interface.py +++ b/interface.py @@ -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'])) diff --git a/mumbleBot.py b/mumbleBot.py index f001656..1dd22c2 100644 --- a/mumbleBot.py +++ b/mumbleBot.py @@ -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,32 +782,35 @@ class MumbleBot: uri = music['path'] if os.path.isfile(uri): - audio = EasyID3(uri) - if audio["title"]: - # take the title from the file tag - music['title'] = audio["title"][0] - music['artist'] = ', '.join(audio["artist"]) + try: + audio = EasyID3(uri) + if audio["title"]: + # take the title from the file tag + music['title'] = audio["title"][0] + music['artist'] = ', '.join(audio["artist"]) - path_thumbnail = uri[:-3] + "jpg" - if os.path.isfile(path_thumbnail): - im = Image.open(path_thumbnail) - im.thumbnail((100, 100), Image.ANTIALIAS) - buffer = BytesIO() - im = im.convert('RGB') - im.save(buffer, format="JPEG") - music['thumbnail'] = base64.b64encode(buffer.getvalue()).decode('utf-8') - - # try to extract artwork from mp3 ID3 tag - elif uri[-3:] == "mp3": - tags = mutagen.File(uri) - if "APIC:" in tags: - im = Image.open(BytesIO(tags["APIC:"].data)) + path_thumbnail = uri[:-3] + "jpg" + if os.path.isfile(path_thumbnail): + im = Image.open(path_thumbnail) im.thumbnail((100, 100), Image.ANTIALIAS) buffer = BytesIO() im = im.convert('RGB') im.save(buffer, format="JPEG") music['thumbnail'] = base64.b64encode(buffer.getvalue()).decode('utf-8') + # try to extract artwork from mp3 ID3 tag + elif uri[-3:] == "mp3": + tags = mutagen.File(uri) + if "APIC:" in tags: + im = Image.open(BytesIO(tags["APIC:"].data)) + im.thumbnail((100, 100), Image.ANTIALIAS) + buffer = BytesIO() + im = im.convert('RGB') + im.save(buffer, format="JPEG") + music['thumbnail'] = base64.b64encode(buffer.getvalue()).decode('utf-8') + except: + pass + return music