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,30 +323,35 @@ 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"
ydl_opts = { mp3 = path.replace(".%(ext)s", ".mp3")
'format': 'bestaudio/best', if os.path.isfile(mp3):
'outtmpl': path, audio = EasyID3(mp3)
'noplaylist': True, video_title = audio["title"][0]
'writethumbnail': True, else:
'updatetime': False, ydl_opts = {
'postprocessors': [{ 'format': 'bestaudio/best',
'key': 'FFmpegExtractAudio', 'outtmpl': path,
'preferredcodec': 'mp3', 'noplaylist': True,
'preferredquality': '192', 'writethumbnail': True,
}] 'updatetime': False,
} 'postprocessors': [{
video_title = "" 'key': 'FFmpegExtractAudio',
with youtube_dl.YoutubeDL(ydl_opts) as ydl: 'preferredcodec': 'mp3',
for i in range(2): 'preferredquality': '192'},
try: {'key': 'FFmpegMetadata'}]
info_dict = ydl.extract_info(url) }
video_title = info_dict['title'] video_title = ""
except youtube_dl.utils.DownloadError: with youtube_dl.YoutubeDL(ydl_opts) as ydl:
pass for i in range(2):
else: try:
break info_dict = ydl.extract_info(url)
return path, video_title video_title = info_dict['title']
except youtube_dl.utils.DownloadError:
pass
else:
break
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