download channel vids as singles

This commit is contained in:
jbannon 2022-08-13 22:25:30 +00:00
parent 0548730e06
commit eb810d1c71
7 changed files with 25 additions and 13 deletions

View file

@ -160,16 +160,19 @@ class YoutubeChannelDownloader(YoutubeDownloader[YoutubeChannelDownloaderOptions
video = YoutubeVideo(entry_dict=entry_dict, working_directory=self.working_directory)
download_logger.info("Downloading %d/%d %s", idx, len(entry_dicts), video.title)
# Only do the individual download if it is not dry-run
if not self.is_dry_run:
_ = self.extract_info_with_retry(
is_downloaded_fn=video.is_downloaded,
ytdl_options_overrides={
"playlist_items": str(video.kwargs("playlist_index")),
"writeinfojson": False,
},
url=self.download_options.channel_url,
)
# Re-download the contents even if it's a dry-run as a single video. At this time,
# channels do not download subtitles or subtitle metadata
as_single_video_dict = self.extract_info_with_retry(
is_downloaded_fn=None if self.is_dry_run else video.is_downloaded,
ytdl_options_overrides={"writeinfojson": False, "skip_download": self.is_dry_run},
url=video.kwargs("webpage_url"),
)
# Workaround for the ytdlp issue
# pylint: disable=protected-access
video._kwargs["requested_subtitles"] = as_single_video_dict.get("requested_subtitles")
# pylint: enable=protected-access
yield video
def _download_thumbnail(

View file

@ -1,5 +1,5 @@
{
".ytdl-sub-pz-download-archive.json": "ce0ef71efbe27d9f67d80b5fbc57fc84",
".ytdl-sub-pz-download-archive.json": "f0f692ef29653ca8d0af556415bfb065",
"Season 2010/s2010.e0813 - Oblivion Mod Falcor p.1-thumb.jpg": "fb95b510681676e81c321171fc23143e",
"Season 2010/s2010.e0813 - Oblivion Mod Falcor p.1.mp4": "931a705864c57d21d6fedebed4af6bbc",
"Season 2010/s2010.e0813 - Oblivion Mod Falcor p.1.nfo": "67d8d71d048039080acbba3bce4febaa",
@ -34,6 +34,7 @@
"Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer.mp4": "82f6ee7253e1dbb83ae7215af08ffacc",
"Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer.nfo": "cc7886aae3af6b7b0facd82f95390242",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id-thumb.jpg": "49cc64b25314155c1b8ab0361ac0c34f",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.en.srt": "3d2c4e7f65d2ca5e96da38ce7eecfc4e",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.mp4": "e733b4cc385b953b08c8eb0f47e03c1e",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.nfo": "2b3ccb3f1ef81ee49fe1afb88f275a09",
"fanart.jpg": "c16b8b88a82cbd47d217ee80f6a8b5f3",

View file

@ -1,9 +1,10 @@
{
".ytdl-sub-pz-download-archive.json": "523518e883758d9d89b656f9e9966efa",
".ytdl-sub-pz-download-archive.json": "756b60d7a6c47d8163e3283404493a8d",
"Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer-thumb.jpg": "6f8f5e1e031ec2a04b0a4906c04a19ee",
"Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer.mp4": "82f6ee7253e1dbb83ae7215af08ffacc",
"Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer.nfo": "cc7886aae3af6b7b0facd82f95390242",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id-thumb.jpg": "49cc64b25314155c1b8ab0361ac0c34f",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.en.srt": "3d2c4e7f65d2ca5e96da38ce7eecfc4e",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.mp4": "e733b4cc385b953b08c8eb0f47e03c1e",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.nfo": "2b3ccb3f1ef81ee49fe1afb88f275a09",
"fanart.jpg": "c16b8b88a82cbd47d217ee80f6a8b5f3",

View file

@ -1,6 +1,7 @@
{
".ytdl-sub-pz-download-archive.json": "9639fffe58c44d084124c8398b46ef32",
".ytdl-sub-pz-download-archive.json": "68e164a35d1541ce761a6d7fef19ee08",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id-thumb.jpg": "49cc64b25314155c1b8ab0361ac0c34f",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.en.srt": "3d2c4e7f65d2ca5e96da38ce7eecfc4e",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.mp4": "e733b4cc385b953b08c8eb0f47e03c1e",
"Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.nfo": "2b3ccb3f1ef81ee49fe1afb88f275a09",
"fanart.jpg": "c16b8b88a82cbd47d217ee80f6a8b5f3",

View file

@ -243,6 +243,7 @@ Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer.nfo
title: Jesse's Minecraft Server | Teaser Trailer
year: 2018
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id-thumb.jpg
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.en.srt
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.mp4
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.nfo
NFO tags:

View file

@ -22,6 +22,7 @@ Season 2018/s2018.e1029 - Jesse's Minecraft Server Teaser Trailer.nfo
title: Jesse's Minecraft Server | Teaser Trailer
year: 2018
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id-thumb.jpg
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.en.srt
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.mp4
Season 2018/s2018.e1102 - Jesse's Minecraft Server IP mc.jesse.id.nfo
NFO tags:

View file

@ -29,6 +29,10 @@ def channel_preset_dict(output_directory):
"max_views": 100000, # do not download the popular PJ concert
"break_on_reject": False, # do not break from max views
},
"subtitles": {
"subtitles_name": "{episode_name}.{lang}.{subtitles_ext}",
"allow_auto_generated_subtitles": True,
},
"overrides": {"tv_show_name": "Project / Zombie"},
}