Playlists have always been a pain-point with ytdl-sub. If an author adds new videos to the end of a playlist, as opposed to the front, it breaks ytdl-sub's intuition of incremental scraping by breaking on the first (oldest) video. This update now makes it possible to handle this in the prebuilt TV Show presets:
- Add each URL variable (`url`, `url2`, ...) into the `download` portion of the subscription twice
- First definition is what we all know and use, simply scrapes first-to-last, then downloads last-to-first
- Second definition does the following:
- Check to see if a URL is a YouTube playlist URL, if so...
- Set the field to download, but with modifications to scrape last-to-first, then download first-to-last
- Otherwise...
- Set the field to an empty string, which means ytdl-sub will skip it
22 lines
789 B
Python
22 lines
789 B
Python
from unit.script.conftest import single_variable_output
|
|
|
|
|
|
class TestCustomFunctions:
|
|
def test_is_playlist_ordered_by_newest_true(self):
|
|
assert (
|
|
single_variable_output(
|
|
"{%is_playlist_ordered_by_newest('https://www.youtube.com/playlist?list=PL5BC0FC26BECA5A35')}"
|
|
)
|
|
is True
|
|
)
|
|
|
|
def test_is_playlist_ordered_by_newest_false(self):
|
|
assert (
|
|
single_variable_output(
|
|
"{%is_playlist_ordered_by_newest('https://www.youtube.com/playlist?list=PL2KvlCGf4yFftX466OnFS8wvuSosBfUgm')}"
|
|
)
|
|
is False
|
|
)
|
|
|
|
def test_is_playlist_ordered_by_newest_defaults_false(self):
|
|
assert single_variable_output("{%is_playlist_ordered_by_newest('aaaaaa')}") is False
|