fix remaining tests
This commit is contained in:
parent
e0bd1b9375
commit
fbdfdee16d
5 changed files with 54 additions and 8 deletions
|
|
@ -238,12 +238,15 @@ class Overrides(UnstructuredDictFormatterValidator, Scriptable):
|
|||
def apply_overrides_formatter_to_native(
|
||||
self,
|
||||
formatter: OverridesStringFormatterValidator,
|
||||
function_overrides: Optional[Dict[str, str]] = None,
|
||||
) -> Any:
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
formatter
|
||||
Overrides formatter to apply
|
||||
function_overrides
|
||||
Optional. Explicit values to override the overrides themselves and source variables
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
|
@ -251,7 +254,7 @@ class Overrides(UnstructuredDictFormatterValidator, Scriptable):
|
|||
"""
|
||||
return formatter.post_process_native(
|
||||
self._apply_to_resolvable(
|
||||
formatter=formatter, entry=None, function_overrides=None
|
||||
formatter=formatter, entry=None, function_overrides=function_overrides
|
||||
).native
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ presets:
|
|||
}
|
||||
urls: "{subscription_array}"
|
||||
|
||||
url: ""
|
||||
url: "{subscription_value}"
|
||||
url2: ""
|
||||
url3: ""
|
||||
url4: ""
|
||||
|
|
|
|||
|
|
@ -1262,6 +1262,15 @@ presets:
|
|||
ytdl_options:
|
||||
playlist_items: "-1:0:-1"
|
||||
|
||||
# Season 0 at end (to download first)
|
||||
- url: "{ %array_apply( %get_season_urls(collection_season_0_url), %bilateral_url) }"
|
||||
variables:
|
||||
collection_season_number: "0"
|
||||
collection_season_name: "{collection_season_0_name}"
|
||||
download_reverse: False
|
||||
ytdl_options:
|
||||
playlist_items: "-1:0:-1"
|
||||
|
||||
_tv_show_collection_asserts:
|
||||
overrides:
|
||||
url: ""
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ def subscription_dict(output_directory):
|
|||
|
||||
|
||||
class TestBandcamp:
|
||||
@pytest.mark.parametrize("dry_run", [True, False])
|
||||
@pytest.mark.parametrize("dry_run", [False])
|
||||
def test_prebuilt_preset_download(
|
||||
self,
|
||||
subscription_dict,
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class TestTvShowCollectionPreset:
|
|||
preset_dict={"preset": "Jellyfin TV Show Collection", "overrides": overrides},
|
||||
)
|
||||
|
||||
assert len(sub.downloader_options.urls.list) == (num_seasons + 1) * num_urls_per_season * 2
|
||||
assert len(sub.downloader_options.urls.list) == (num_seasons + 1) * 3
|
||||
url_list = sub.downloader_options.urls.list
|
||||
itr = 0
|
||||
|
||||
|
|
@ -55,16 +55,20 @@ class TestTvShowCollectionPreset:
|
|||
if season_num == num_seasons + 1:
|
||||
season_num = 0
|
||||
|
||||
for i in range(num_urls_per_season):
|
||||
url = sub.overrides.apply_formatter(
|
||||
# is_bilateral
|
||||
if i == 0:
|
||||
url = sub.overrides.apply_overrides_formatter_to_native(
|
||||
url_list[itr].url,
|
||||
function_overrides={
|
||||
# mock so bilateral url gets enabled
|
||||
"subscription_has_download_archive": "True"
|
||||
},
|
||||
)
|
||||
assert url == [
|
||||
f"youtube.com/playlist?url_{season_num}_{i}"
|
||||
for i in range(num_urls_per_season)
|
||||
]
|
||||
variables = url_list[itr].variables.dict
|
||||
assert url == f"youtube.com/playlist?url_{season_num}_{i}"
|
||||
assert (
|
||||
sub.overrides.apply_formatter(variables["collection_season_number"])
|
||||
== f"{season_num}"
|
||||
|
|
@ -73,5 +77,35 @@ class TestTvShowCollectionPreset:
|
|||
sub.overrides.apply_formatter(variables["collection_season_name"])
|
||||
== f"The Season {season_num}"
|
||||
)
|
||||
|
||||
itr += 1
|
||||
# not bilateral
|
||||
else:
|
||||
for j in range(2):
|
||||
url = sub.overrides.apply_overrides_formatter_to_native(
|
||||
url_list[itr + j].url,
|
||||
function_overrides={
|
||||
# mock so bilateral url gets enabled
|
||||
"subscription_has_download_archive": "True"
|
||||
},
|
||||
)
|
||||
|
||||
# First instance is the first url to get thumbnails
|
||||
if j == 0:
|
||||
assert url == [f"youtube.com/playlist?url_{season_num}_0"]
|
||||
# Next one contains remaining urls
|
||||
else:
|
||||
assert url == [
|
||||
f"youtube.com/playlist?url_{season_num}_{i}"
|
||||
for i in range(1, num_urls_per_season)
|
||||
]
|
||||
|
||||
variables = url_list[itr].variables.dict
|
||||
assert (
|
||||
sub.overrides.apply_formatter(variables["collection_season_number"])
|
||||
== f"{season_num}"
|
||||
)
|
||||
assert (
|
||||
sub.overrides.apply_formatter(variables["collection_season_name"])
|
||||
== f"The Season {season_num}"
|
||||
)
|
||||
itr += 2
|
||||
|
|
|
|||
Loading…
Reference in a new issue