This commit is contained in:
nose
2025-12-21 05:10:09 -08:00
parent 8ca5783970
commit 11a13edb84
15 changed files with 1712 additions and 213 deletions

View File

@@ -89,6 +89,11 @@ class YtDlpTool:
def _load_defaults(self) -> YtDlpDefaults:
cfg = self._config
# NOTE: `YtDlpDefaults` is a slots dataclass. Referencing defaults via
# `YtDlpDefaults.video_format` yields a `member_descriptor`, not the
# default string value. Use an instance for fallback defaults.
_fallback_defaults = YtDlpDefaults()
tool_block = _get_nested(cfg, "tool", "ytdlp")
if not isinstance(tool_block, dict):
tool_block = {}
@@ -128,8 +133,8 @@ class YtDlpTool:
fmt_sort = _parse_csv_list(fmt_sort_val)
defaults = YtDlpDefaults(
video_format=str(nested_video or video_format or YtDlpDefaults.video_format),
audio_format=str(nested_audio or audio_format or YtDlpDefaults.audio_format),
video_format=str(nested_video or video_format or _fallback_defaults.video_format),
audio_format=str(nested_audio or audio_format or _fallback_defaults.audio_format),
format_sort=fmt_sort,
)