The ORF radio stations are also provided via https://radiothek.orf.at.
When doing so, the URLs are different. Currently only OE1 and OE3 have
been tested.
The ORFRADIOTHEK extractor has been tested with:
❯ python -m unittest -v test/test_download.py -k ORFRADIOTHEK
test_ORFRADIOTHEK (test.test_download.TestDownload): ... [orf:radiothek] 645522: Downloading JSON metadata
[download] Downloading playlist: Pandemie, Fossilien, Mars
[orf:radiothek] playlist Pandemie, Fossilien, Mars: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[info] Writing video description metadata as JSON to: test_ORFRADIOTHEK_2021-07-23_1355_tl_51_7DaysFri25_1594313.info.json
[debug] Invoking downloader on 'https://loopstream01.apa.at/?channel=oe1&id=2021-07-23_1355_tl_51_7DaysFri25_1594313.mp3'
[download] Destination: test_ORFRADIOTHEK_2021-07-23_1355_tl_51_7DaysFri25_1594313.mp3
[download] 100% of 10.00KiB in 00:00
[download] Finished downloading playlist: Pandemie, Fossilien, Mars
ok
test_ORFRADIOTHEK_1 (test.test_download.TestDownload): ... [orf:radiothek] 3SDL: Downloading JSON metadata
[download] Downloading playlist: Der Song deines Lebens
[orf:radiothek] playlist Der Song deines Lebens: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[info] Writing video description metadata as JSON to: test_ORFRADIOTHEK_1_2021-07-28_1200_tl_53_7DaysWed3_1610654.info.json
[debug] Invoking downloader on 'https://loopstream01.apa.at/?channel=oe3&id=2021-07-28_1200_tl_53_7DaysWed3_1610654.mp3'
[download] Destination: test_ORFRADIOTHEK_1_2021-07-28_1200_tl_53_7DaysWed3_1610654.mp3
[download] 100% of 10.00KiB in 00:00
[download] Finished downloading playlist: Der Song deines Lebens
ok
----------------------------------------------------------------------
Ran 2 tests in 0.863s
❯ flake8 youtube_dl/extractor/orf.py
But as the files are only available for 7 days, "only_matching" was set to
true. While at it removed 'skip' in favour of it.
Closes: #29394
Back-port yt-dlp PR 1022 onto PR #17890 and update
Video details aren't in the original HTML now but populated by async JS
Co-authored by: u-spec-png
Co-authored by: vidaritos