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. |
||
|---|---|---|
| .. | ||
| channel | ||
| test | ||
| video | ||
| __init__.py | ||
| api.py | ||
| common.py | ||
| conftest.py | ||
| cookies.py | ||
| downloader.py | ||
| errors.py | ||
| lib.py | ||
| models.py | ||
| normalize_video_url.py | ||
| schema.py | ||