mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
The yt-dlp `-f` selector was built by joining every selector of every requested resolution with a comma. In yt-dlp a comma means "download all of these formats"; `/` is the fallback operator. The resolution map is ordered best-to-worst and its entries already use `/` internally, so the comma was never the intent. With the default resolutions this handed yt-dlp ~45 comma-separated selectors and asked it to download every one that matched. A 720p video matched 8 of them (including duplicates, which yt-dlp does not dedupe), so the whole per-download pipeline ran 8 times against the same output path: subtitles downloaded, thumbnail downloaded, info.json written, subtitles converted, thumbnail converted, existing subtitles deleted, repeat. The duplicate work was invisible because each pass overwrites the last. Join with `/` so the resolution list behaves as the preference chain it reads as. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_api.py | ||
| test_channel_directory_scenarios.py | ||
| test_channel_refresh_external_files.py | ||
| test_channels_config.py | ||
| test_common.py | ||
| test_cookies.py | ||
| test_downloader.py | ||
| test_lib.py | ||
| test_models.py | ||
| test_video.py | ||
| test_video_modeler_loop.py | ||
| test_video_url_resolver.py | ||