Extract media thumbnail automatically from YouTube

master
Felix Stupp 3 years ago
parent dfee06106f
commit f0af32c099
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -9,6 +9,8 @@ from youtubesearchpython import ResultMode, Video
from ...models import ( from ...models import (
MediaElement, MediaElement,
MediaThumbnail,
thumbnail_sort_key,
) )
from ..generic import ( from ..generic import (
AuthorExtractedData, AuthorExtractedData,
@ -99,6 +101,12 @@ class YoutubeMediaExtractor(MediaExtractor[YoutubeVideoData]):
def _update_object_raw(self, object: MediaElement, data: YoutubeVideoData): def _update_object_raw(self, object: MediaElement, data: YoutubeVideoData):
object.title = f"{data['title']} - {data['channel']['name']}" object.title = f"{data['title']} - {data['channel']['name']}"
if data.get("thumbnails"):
best_thumb = min(
data["thumbnails"],
key=lambda thumb: thumbnail_sort_key(thumb["width"], thumb["height"]),
)
object.thumbnail = MediaThumbnail.from_uri(best_thumb["url"])
object.release_date = datetime.strptime( object.release_date = datetime.strptime(
data.get("uploadDate") or data["publishDate"], "%Y-%m-%d" data.get("uploadDate") or data["publishDate"], "%Y-%m-%d"
) )

Loading…
Cancel
Save