Merge pull request #23 from Lartza/metadata

Write metadata and use cached files without youtube-dl, fix youtube-dl processing
This commit is contained in:
azlux 2018-06-23 10:52:32 +02:00 committed by GitHub
commit 1a01a26bf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 24 deletions

View File

@ -20,6 +20,7 @@ import util
import base64 import base64
from PIL import Image from PIL import Image
from io import BytesIO from io import BytesIO
from mutagen.easyid3 import EasyID3
class MumbleBot: class MumbleBot:
@ -322,7 +323,12 @@ class MumbleBot:
def download_music(self, url): def download_music(self, url):
url_hash = hashlib.md5(url.encode()).hexdigest() url_hash = hashlib.md5(url.encode()).hexdigest()
path = var.config.get('bot', 'tmp_folder') + url_hash + ".mp3" path = var.config.get('bot', 'tmp_folder') + url_hash + ".%(ext)s"
mp3 = path.replace(".%(ext)s", ".mp3")
if os.path.isfile(mp3):
audio = EasyID3(mp3)
video_title = audio["title"][0]
else:
ydl_opts = { ydl_opts = {
'format': 'bestaudio/best', 'format': 'bestaudio/best',
'outtmpl': path, 'outtmpl': path,
@ -332,8 +338,8 @@ class MumbleBot:
'postprocessors': [{ 'postprocessors': [{
'key': 'FFmpegExtractAudio', 'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3', 'preferredcodec': 'mp3',
'preferredquality': '192', 'preferredquality': '192'},
}] {'key': 'FFmpegMetadata'}]
} }
video_title = "" video_title = ""
with youtube_dl.YoutubeDL(ydl_opts) as ydl: with youtube_dl.YoutubeDL(ydl_opts) as ydl:
@ -345,7 +351,7 @@ class MumbleBot:
pass pass
else: else:
break break
return path, video_title return mp3, video_title
def loop(self): def loop(self):
raw_music = "" raw_music = ""

View File

@ -4,3 +4,4 @@ flask
youtube-dl youtube-dl
python-magic python-magic
Pillow Pillow
mutagen