tests for all types

This commit is contained in:
Jesse Bannon 2026-02-01 17:20:18 -08:00
parent a9ed6a9483
commit d54d168bee
10 changed files with 2185 additions and 16 deletions

View file

@ -5,7 +5,7 @@ from pathlib import Path
from typing import Dict
DISABLE_YOUTUBE_TESTS: bool = True
REGENERATE_FIXTURES: bool = True
REGENERATE_FIXTURES: bool = False
RESOURCE_PATH: Path = Path("tests") / "resources"
_FILE_FIXTURE_PATH: Path = RESOURCE_PATH / "file_fixtures"

View file

@ -0,0 +1,242 @@
{
"audio_extract": {
"codec": "best",
"enable": true
},
"download": [
{
"download_reverse": true,
"include_sibling_metadata": true,
"playlist_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"url": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
],
"variables": {},
"webpage_url": "{ modified_webpage_url }",
"ytdl_options": {}
}
],
"format": "ba[ext=webm]/ba",
"music_tags": {
"album": [
"{ track_album }"
],
"albumartist": [
"Lester Young"
],
"albumartists": [
"Lester Young"
],
"artist": [
"Lester Young"
],
"artists": [
"Lester Young"
],
"date": [
"{ track_date }"
],
"genres": [
"Jazz"
],
"original_date": [
"{ track_original_date }"
],
"title": [
"{ track_title }"
],
"track": [
"{ track_number }"
],
"tracktotal": [
"{ track_total }"
],
"year": [
"{ track_year }"
]
},
"output_options": {
"download_archive_name": ".ytdl-sub-Lester Young-download-archive.json",
"file_name": "{ track_full_path }",
"keep_files_date_eval": "{ upload_date_standardized }",
"maintain_download_archive": true,
"output_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpzald2h7x",
"preserve_mtime": false,
"thumbnail_name": "{ album_cover_path }"
},
"overrides": {
"album_cover_path": "Lester Young/{ %concat( \"[\", playlist_max_upload_year, \"] \", %sanitize( playlist_title ) ) }/folder.{ thumbnail_ext }",
"album_dir": "[{ playlist_max_upload_year }] { %sanitize( playlist_title ) }",
"artist_dir": "Lester Young",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"include_sibling_metadata": true,
"modified_webpage_url": "{ webpage_url }",
"music_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpzald2h7x",
"resolution_assert": "{ %if( %and( enable_resolution_assert, %ne( height, 0 ), %not( resolution_assert_is_ignored ) ), %assert( %gte( height, resolution_assert_height_gte ), %concat( \"Entry \", title, \" downloaded at a low resolution (\", resolution_readable, \"), you've probably been throttled. \", \"Stopping further downloads, wait a few hours and try again. \", \"Disable using the override variable `enable_resolution_assert: False`.\" ) ), \"false is no-op\" ) }",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [ ] }",
"resolution_assert_is_ignored": "{ %print_if_true( %concat( title, \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\" ), %contains_any( title, [ ] ) ) }",
"resolution_assert_print": true,
"resolution_readable": "{ width }x{ height }",
"subscription_array": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
],
"subscription_indent_1": "Jazz",
"subscription_value": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"subscription_value_1": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"track_album": "{ playlist_title }",
"track_album_artist": "Lester Young",
"track_artist": "Lester Young",
"track_date": "{ upload_date_standardized }",
"track_file_name": "{ playlist_index_padded } - { %sanitize( title ) }.{ ext }",
"track_full_path": "Lester Young/{ %concat( \"[\", playlist_max_upload_year, \"] \", %sanitize( playlist_title ) ) }/{ %concat( playlist_index_padded, \" - \", %sanitize( title ), \".\", ext ) }",
"track_genre": "Jazz",
"track_genre_default": "Unset",
"track_number": "{ playlist_index }",
"track_number_padded": "{ playlist_index_padded }",
"track_original_date": "{ upload_date_standardized }",
"track_title": "{ title }",
"track_total": "{ playlist_count }",
"track_year": "{ playlist_max_upload_year }",
"url": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
]
},
"throttle_protection": {
"enable": true,
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
}
}

View file

@ -0,0 +1,242 @@
{
"audio_extract": {
"codec": "best",
"enable": true
},
"download": [
{
"download_reverse": true,
"include_sibling_metadata": true,
"playlist_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"url": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
],
"variables": {},
"webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
"ytdl_options": {}
}
],
"format": "ba[ext=webm]/ba",
"music_tags": {
"album": [
"{ %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }"
],
"albumartist": [
"Lester Young"
],
"albumartists": [
"Lester Young"
],
"artist": [
"Lester Young"
],
"artists": [
"Lester Young"
],
"date": [
"{ %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"date_standardized\" ) ) }"
],
"genres": [
"Jazz"
],
"original_date": [
"{ %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"date_standardized\" ) ) }"
],
"title": [
"{ %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) }"
],
"track": [
"{ %map_get_non_empty( entry_metadata, \"playlist_index\", 1 ) }"
],
"tracktotal": [
"{ %map_get_non_empty( entry_metadata, \"playlist_count\", 1 ) }"
],
"year": [
"{ %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ) }"
]
},
"output_options": {
"download_archive_name": ".ytdl-sub-Lester Young-download-archive.json",
"file_name": "Lester Young/{ %concat( \"[\", %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ), \"] \", %sanitize( %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) ) }/{ %concat( %pad_zero( %map_get_non_empty( entry_metadata, \"playlist_index\", 1 ), 2 ), \" - \", %sanitize( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ), \".\", ext ) }",
"keep_files_date_eval": "{ %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"date_standardized\" ) ) }",
"maintain_download_archive": true,
"output_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpdu1vad67",
"preserve_mtime": false,
"thumbnail_name": "Lester Young/{ %concat( \"[\", %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ), \"] \", %sanitize( %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) ) }/folder.jpg"
},
"overrides": {
"album_cover_path": "Lester Young/{ %concat( \"[\", %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ), \"] \", %sanitize( %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) ) }/folder.jpg",
"album_dir": "[{ %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ) }] { %sanitize( %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) }",
"artist_dir": "Lester Young",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"include_sibling_metadata": true,
"modified_webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
"music_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpdu1vad67",
"resolution_assert": "{ %if( %and( enable_resolution_assert, %ne( height, 0 ), %not( resolution_assert_is_ignored ) ), %assert( %gte( height, resolution_assert_height_gte ), %concat( \"Entry \", title, \" downloaded at a low resolution (\", resolution_readable, \"), you've probably been throttled. \", \"Stopping further downloads, wait a few hours and try again. \", \"Disable using the override variable `enable_resolution_assert: False`.\" ) ), \"false is no-op\" ) }",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [ ] }",
"resolution_assert_is_ignored": "{ %print_if_true( %concat( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ), \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\" ), %contains_any( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ), [ ] ) ) }",
"resolution_assert_print": true,
"resolution_readable": "{ width }x{ height }",
"subscription_array": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
],
"subscription_indent_1": "Jazz",
"subscription_value": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"subscription_value_1": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"track_album": "{ %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }",
"track_album_artist": "Lester Young",
"track_artist": "Lester Young",
"track_date": "{ %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"date_standardized\" ) ) }",
"track_file_name": "{ %pad_zero( %map_get_non_empty( entry_metadata, \"playlist_index\", 1 ), 2 ) } - { %sanitize( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }.{ ext }",
"track_full_path": "Lester Young/{ %concat( \"[\", %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ), \"] \", %sanitize( %map_get_non_empty( entry_metadata, \"playlist_title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) ) }/{ %concat( %pad_zero( %map_get_non_empty( entry_metadata, \"playlist_index\", 1 ), 2 ), \" - \", %sanitize( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ), \".\", ext ) }",
"track_genre": "Jazz",
"track_genre_default": "Unset",
"track_number": "{ %map_get_non_empty( entry_metadata, \"playlist_index\", 1 ) }",
"track_number_padded": "{ %pad_zero( %map_get_non_empty( entry_metadata, \"playlist_index\", 1 ), 2 ) }",
"track_original_date": "{ %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"date_standardized\" ) ) }",
"track_title": "{ %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) }",
"track_total": "{ %map_get_non_empty( entry_metadata, \"playlist_count\", 1 ) }",
"track_year": "{ %int( %map_get( %to_date_metadata( %array_reduce( %if_passthrough( %extract_field_from_siblings( \"upload_date\" ), [ upload_date ] ), %max ) ), \"year\" ) ) }",
"url": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
]
},
"throttle_protection": {
"enable": true,
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
}
}

View file

@ -0,0 +1,227 @@
{
"audio_extract": {
"codec": "best"
},
"download": [
{
"include_sibling_metadata": "{include_sibling_metadata}",
"playlist_thumbnails": [
{
"name": "{avatar_uncropped_thumbnail_file_name}",
"uid": "avatar_uncropped"
},
{
"name": "{banner_uncropped_thumbnail_file_name}",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "{avatar_uncropped_thumbnail_file_name}",
"uid": "avatar_uncropped"
},
{
"name": "{banner_uncropped_thumbnail_file_name}",
"uid": "banner_uncropped"
}
],
"url": "{ %array_at(urls, 0) }",
"webpage_url": "{modified_webpage_url}"
},
{
"include_sibling_metadata": "{include_sibling_metadata}",
"url": "{ %array_slice(urls, 1) }",
"webpage_url": "{modified_webpage_url}"
}
],
"format": "ba[ext=webm]/ba",
"music_tags": {
"album": "{track_album}",
"albumartist": "{track_album_artist}",
"albumartists": [
"{track_album_artist}"
],
"artist": "{track_artist}",
"artists": [
"{track_artist}"
],
"date": "{track_date}",
"genres": [
"{track_genre}"
],
"original_date": "{track_original_date}",
"title": "{track_title}",
"track": "{track_number}",
"tracktotal": "{track_total}",
"year": "{track_year}"
},
"output_options": {
"file_name": "{track_full_path}",
"maintain_download_archive": true,
"output_directory": "{music_directory}",
"thumbnail_name": "{album_cover_path}"
},
"overrides": {
"album_cover_path": "{artist_dir}/{album_dir}/folder.{thumbnail_ext}",
"album_dir": "[{track_year}] {track_album_sanitized}",
"artist_dir": "{track_artist_sanitized}",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"include_sibling_metadata": true,
"modified_webpage_url": "{webpage_url}",
"music_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpk6coazyn",
"resolution_assert": "{\n %if(\n %and(\n enable_resolution_assert,\n %ne( height, 0 ),\n %not(resolution_assert_is_ignored)\n ),\n %assert(\n %gte( height, resolution_assert_height_gte ),\n %concat(\n \"Entry \",\n title,\n \" downloaded at a low resolution (\",\n resolution_readable,\n \"), you've probably been throttled. \",\n \"Stopping further downloads, wait a few hours and try again. \",\n \"Disable using the override variable `enable_resolution_assert: False`.\"\n )\n ),\n \"false is no-op\"\n )\n}",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [] }",
"resolution_assert_is_ignored": "{\n %print_if_true(\n %concat(title, \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\"),\n %contains_any(title, resolution_assert_ignore_titles)\n )\n}",
"resolution_assert_print": "{\n %print(\n %if(\n enable_resolution_assert,\n \"Resolution assert is enabled, will fail on low-quality video downloads and presume throttle. Disable using the override variable `enable_resolution_assert: False`\",\n \"Resolution assert is disabled. Use at your own risk!\"\n ),\n enable_resolution_assert,\n -1\n )\n}",
"resolution_readable": "{width}x{height}",
"subscription_array": "{%from_json('''[\"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists\"]''')}",
"subscription_indent_1": "Jazz",
"subscription_value": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"subscription_value_1": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"track_album": "{playlist_title}",
"track_album_artist": "{track_artist}",
"track_artist": "{subscription_name}",
"track_date": "{upload_date_standardized}",
"track_file_name": "{track_number_padded} - {track_title_sanitized}.{ext}",
"track_full_path": "{artist_dir}/{album_dir}/{track_file_name}",
"track_genre": "{subscription_indent_1}",
"track_genre_default": "Unset",
"track_number": "{playlist_index}",
"track_number_padded": "{playlist_index_padded}",
"track_original_date": "{track_date}",
"track_title": "{title}",
"track_total": "{playlist_count}",
"track_year": "{playlist_max_upload_year}",
"url": "{subscription_value}",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": "{subscription_array}"
},
"preset": [
"_music_base",
"_multi_url",
"_albums_from_playlists",
"_throttle_protection",
"YouTube Releases",
"__preset__"
],
"throttle_protection": {
"enable": "{\n %print(\n %if(\n enable_throttle_protection,\n \"Throttle protection is enabled. Disable using the override variable `enable_throttle_protection: False`\",\n \"Throttle protection is disabled. Use at your own risk!\"\n ),\n enable_throttle_protection\n )\n}",
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
},
"ytdl_options": {
"break_on_existing": true
}
}

View file

@ -0,0 +1,242 @@
{
"audio_extract": {
"codec": "best",
"enable": true
},
"download": [
{
"download_reverse": true,
"include_sibling_metadata": true,
"playlist_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"url": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
],
"variables": {},
"webpage_url": "{ webpage_url }",
"ytdl_options": {}
}
],
"format": "ba[ext=webm]/ba",
"music_tags": {
"album": [
"{ playlist_title }"
],
"albumartist": [
"Lester Young"
],
"albumartists": [
"Lester Young"
],
"artist": [
"Lester Young"
],
"artists": [
"Lester Young"
],
"date": [
"{ upload_date_standardized }"
],
"genres": [
"Jazz"
],
"original_date": [
"{ upload_date_standardized }"
],
"title": [
"{ title }"
],
"track": [
"{ playlist_index }"
],
"tracktotal": [
"{ playlist_count }"
],
"year": [
"{ playlist_max_upload_year }"
]
},
"output_options": {
"download_archive_name": ".ytdl-sub-Lester Young-download-archive.json",
"file_name": "Lester Young/{ %concat( \"[\", playlist_max_upload_year, \"] \", %sanitize( playlist_title ) ) }/{ %concat( playlist_index_padded, \" - \", %sanitize( title ), \".\", ext ) }",
"keep_files_date_eval": "{ upload_date_standardized }",
"maintain_download_archive": true,
"output_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpd5oeacb3",
"preserve_mtime": false,
"thumbnail_name": "Lester Young/{ %concat( \"[\", playlist_max_upload_year, \"] \", %sanitize( playlist_title ) ) }/folder.{ thumbnail_ext }"
},
"overrides": {
"album_cover_path": "Lester Young/{ %concat( \"[\", playlist_max_upload_year, \"] \", %sanitize( playlist_title ) ) }/folder.{ thumbnail_ext }",
"album_dir": "[{ playlist_max_upload_year }] { %sanitize( playlist_title ) }",
"artist_dir": "Lester Young",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"include_sibling_metadata": true,
"modified_webpage_url": "{ webpage_url }",
"music_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpd5oeacb3",
"resolution_assert": "{ %if( %and( enable_resolution_assert, %ne( height, 0 ), %not( resolution_assert_is_ignored ) ), %assert( %gte( height, resolution_assert_height_gte ), %concat( \"Entry \", title, \" downloaded at a low resolution (\", resolution_readable, \"), you've probably been throttled. \", \"Stopping further downloads, wait a few hours and try again. \", \"Disable using the override variable `enable_resolution_assert: False`.\" ) ), \"false is no-op\" ) }",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [ ] }",
"resolution_assert_is_ignored": "{ %print_if_true( %concat( title, \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\" ), %contains_any( title, [ ] ) ) }",
"resolution_assert_print": true,
"resolution_readable": "{ width }x{ height }",
"subscription_array": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
],
"subscription_indent_1": "Jazz",
"subscription_value": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"subscription_value_1": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"track_album": "{ playlist_title }",
"track_album_artist": "Lester Young",
"track_artist": "Lester Young",
"track_date": "{ upload_date_standardized }",
"track_file_name": "{ playlist_index_padded } - { %sanitize( title ) }.{ ext }",
"track_full_path": "Lester Young/{ %concat( \"[\", playlist_max_upload_year, \"] \", %sanitize( playlist_title ) ) }/{ %concat( playlist_index_padded, \" - \", %sanitize( title ), \".\", ext ) }",
"track_genre": "Jazz",
"track_genre_default": "Unset",
"track_number": "{ playlist_index }",
"track_number_padded": "{ playlist_index_padded }",
"track_original_date": "{ upload_date_standardized }",
"track_title": "{ title }",
"track_total": "{ playlist_count }",
"track_year": "{ playlist_max_upload_year }",
"url": "https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": [
"https://www.youtube.com/channel/UCsItMF6_fP754ihIsSRLk5A/playlists"
]
},
"throttle_protection": {
"enable": true,
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
}
}

View file

@ -0,0 +1,314 @@
{
"download": [
{
"download_reverse": true,
"include_sibling_metadata": false,
"playlist_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"url": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
],
"variables": {},
"webpage_url": "{ modified_webpage_url }",
"ytdl_options": {}
}
],
"format": "(bv*[ext=mp4][vcodec~='^((he|a)vc|h26[45])']+ba[ext=m4a]) / (bv[ext=mp4]*+ba[ext=m4a]/b)",
"output_options": {
"download_archive_name": ".ytdl-sub-Rick Astley-download-archive.json",
"file_name": "{ music_video_file_name }.{ ext }",
"info_json_name": "{ music_video_file_name }.{ info_json_ext }",
"keep_files_date_eval": "{ upload_date_standardized }",
"maintain_download_archive": true,
"output_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpyukbh6ta",
"preserve_mtime": false,
"thumbnail_name": "{ music_video_file_name }.jpg"
},
"overrides": {
"%bilateral_url": "{ %if( %and( enable_bilateral_scraping, subscription_has_download_archive, %is_bilateral_url( $0 ) ), $0, '' ) }",
"%contains_url_field": "{ %not( %is_null( %get_url_field( $0, '' ) ) ) }",
"%flat_array__category_to_map_format": "{ %array_apply_fixed( %assert_then( %is_array( $1 ), $1, \"If using album categories, each category must map to an array\" ), $0, %flat_array__url_to_map_format ) }",
"%flat_array__url_keyed_map_format": "{ { %map_get( $0, \"url\" ): $0 } }",
"%flat_array__url_to_map_format": "{ %elif( %is_map( $0 ), %map_extend( $0, { \"category\": $1 } ), %is_string( $0 ), { \"url\": $0, \"category\": $1 }, %throw( \"If using album categories, each URL must be either a string or map with metadata fields\" ) ) }",
"%get_url_field": "{ %map_get( %map( %map_get( category_url_map, ytdl_sub_input_url, { } ) ), $0, $1 ) }",
"%get_url_i": "{ %map_get( %map( %array_at( category_url_array, %int( %sub( $0, 1 ) ), { } ) ), \"url\", %array_at( subscription_array, %int( %sub( $0, 1 ) ), '' ) ) }",
"%is_bilateral_url": "{ %contains( $0, \"youtube.com/playlist\" ) }",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"category_url_array": "{ [ ] }",
"category_url_map": "{ [ ] }",
"enable_bilateral_scraping": true,
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"file_title": "{ title_sanitized_plex }",
"file_uid": "{ uid_sanitized_plex }",
"include_sibling_metadata": false,
"modified_webpage_url": "{ webpage_url }",
"music_video_album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"music_video_album_default": "Music Videos",
"music_video_artist": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",
"music_video_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpyukbh6ta",
"music_video_file_name": "Rick Astley/{ %sanitize( %get_url_field( \"title\", title ) ) }",
"music_video_file_name_suffix": "",
"music_video_genre": "Pop",
"music_video_genre_default": "ytdl-sub",
"music_video_title": "{ %get_url_field( \"title\", title ) }",
"music_video_year": "{ %int( %elif( %contains_url_field( \"date\" ), %slice( %get_url_field( \"date\", upload_date_standardized ), 0, 4 ), %contains_url_field( \"year\" ), %get_url_field( \"date\", upload_year ), upload_year ) ) }",
"resolution_assert": "{ %if( %and( enable_resolution_assert, %ne( height, 0 ), %not( resolution_assert_is_ignored ) ), %assert( %gte( height, resolution_assert_height_gte ), %concat( \"Entry \", title, \" downloaded at a low resolution (\", resolution_readable, \"), you've probably been throttled. \", \"Stopping further downloads, wait a few hours and try again. \", \"Disable using the override variable `enable_resolution_assert: False`.\" ) ), \"false is no-op\" ) }",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [ ] }",
"resolution_assert_is_ignored": "{ %print_if_true( %concat( title, \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\" ), %contains_any( title, [ ] ) ) }",
"resolution_assert_print": true,
"resolution_readable": "{ width }x{ height }",
"subscription_array": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
],
"subscription_indent_1": "Pop",
"subscription_map": {},
"subscription_value": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"subscription_value_1": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"throttle_protection": {
"enable": true,
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
},
"video_tags": {
"album": "{ music_video_album }",
"artist": "Rick Astley",
"genre": "Pop",
"premiered": "{ music_video_date }",
"title": "{ music_video_title }",
"year": "{ music_video_year }"
}
}

View file

@ -0,0 +1,314 @@
{
"download": [
{
"download_reverse": true,
"include_sibling_metadata": false,
"playlist_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"url": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
],
"variables": {},
"webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
"ytdl_options": {}
}
],
"format": "(bv*[ext=mp4][vcodec~='^((he|a)vc|h26[45])']+ba[ext=m4a]) / (bv[ext=mp4]*+ba[ext=m4a]/b)",
"output_options": {
"download_archive_name": ".ytdl-sub-Rick Astley-download-archive.json",
"file_name": "{ %concat( \"Rick Astley\", \"/\", %sanitize( %get_url_field( \"title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ), '' ) }.{ %map_get( entry_metadata, \"ext\" ) }",
"info_json_name": "{ %concat( \"Rick Astley\", \"/\", %sanitize( %get_url_field( \"title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ), '' ) }.info.json",
"keep_files_date_eval": "{ %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"date_standardized\" ) ) }",
"maintain_download_archive": true,
"output_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmput7fc_rs",
"preserve_mtime": false,
"thumbnail_name": "{ %concat( \"Rick Astley\", \"/\", %sanitize( %get_url_field( \"title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ), '' ) }.jpg"
},
"overrides": {
"%bilateral_url": "{ %if( %and( enable_bilateral_scraping, subscription_has_download_archive, %is_bilateral_url( $0 ) ), $0, '' ) }",
"%contains_url_field": "{ %not( %is_null( %get_url_field( $0, '' ) ) ) }",
"%flat_array__category_to_map_format": "{ %array_apply_fixed( %assert_then( %is_array( $1 ), $1, \"If using album categories, each category must map to an array\" ), $0, %flat_array__url_to_map_format ) }",
"%flat_array__url_keyed_map_format": "{ { %map_get( $0, \"url\" ): $0 } }",
"%flat_array__url_to_map_format": "{ %elif( %is_map( $0 ), %map_extend( $0, { \"category\": $1 } ), %is_string( $0 ), { \"url\": $0, \"category\": $1 }, %throw( \"If using album categories, each URL must be either a string or map with metadata fields\" ) ) }",
"%get_url_field": "{ %map_get( %map( %map_get( category_url_map, ytdl_sub_input_url, { } ) ), $0, $1 ) }",
"%get_url_i": "{ %map_get( %map( %array_at( category_url_array, %int( %sub( $0, 1 ) ), { } ) ), \"url\", %array_at( subscription_array, %int( %sub( $0, 1 ) ), '' ) ) }",
"%is_bilateral_url": "{ %contains( $0, \"youtube.com/playlist\" ) }",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"category_url_array": "{ [ ] }",
"category_url_map": "{ [ ] }",
"enable_bilateral_scraping": true,
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"file_title": "{ %sanitize_plex_episode( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }",
"file_uid": "{ %sanitize_plex_episode( %map_get( entry_metadata, \"id\" ) ) }",
"include_sibling_metadata": false,
"modified_webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
"music_video_album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"music_video_album_default": "Music Videos",
"music_video_artist": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",
"music_video_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmput7fc_rs",
"music_video_file_name": "Rick Astley/{ %sanitize( %get_url_field( \"title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) }",
"music_video_file_name_suffix": "",
"music_video_genre": "Pop",
"music_video_genre_default": "ytdl-sub",
"music_video_title": "{ %get_url_field( \"title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }",
"music_video_year": "{ %int( %elif( %contains_url_field( \"date\" ), %slice( %get_url_field( \"date\", upload_date_standardized ), 0, 4 ), %contains_url_field( \"year\" ), %get_url_field( \"date\", upload_year ), upload_year ) ) }",
"resolution_assert": "{ %if( %and( enable_resolution_assert, %ne( height, 0 ), %not( resolution_assert_is_ignored ) ), %assert( %gte( height, resolution_assert_height_gte ), %concat( \"Entry \", title, \" downloaded at a low resolution (\", resolution_readable, \"), you've probably been throttled. \", \"Stopping further downloads, wait a few hours and try again. \", \"Disable using the override variable `enable_resolution_assert: False`.\" ) ), \"false is no-op\" ) }",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [ ] }",
"resolution_assert_is_ignored": "{ %print_if_true( %concat( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ), \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\" ), %contains_any( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ), [ ] ) ) }",
"resolution_assert_print": true,
"resolution_readable": "{ width }x{ height }",
"subscription_array": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
],
"subscription_indent_1": "Pop",
"subscription_map": {},
"subscription_value": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"subscription_value_1": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"throttle_protection": {
"enable": true,
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
},
"video_tags": {
"album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"artist": "Rick Astley",
"genre": "Pop",
"premiered": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",
"title": "{ %get_url_field( \"title\", %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }",
"year": "{ %int( %elif( %contains_url_field( \"date\" ), %slice( %get_url_field( \"date\", upload_date_standardized ), 0, 4 ), %contains_url_field( \"year\" ), %get_url_field( \"date\", upload_year ), upload_year ) ) }"
}
}

View file

@ -0,0 +1,235 @@
{
"download": [
{
"download_reverse": false,
"url": "{ %array_apply(urls, %bilateral_url) }",
"webpage_url": "{modified_webpage_url}",
"ytdl_options": {
"playlist_items": "-1:0:-1"
}
},
{
"include_sibling_metadata": "{include_sibling_metadata}",
"playlist_thumbnails": [
{
"name": "{avatar_uncropped_thumbnail_file_name}",
"uid": "avatar_uncropped"
},
{
"name": "{banner_uncropped_thumbnail_file_name}",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "{avatar_uncropped_thumbnail_file_name}",
"uid": "avatar_uncropped"
},
{
"name": "{banner_uncropped_thumbnail_file_name}",
"uid": "banner_uncropped"
}
],
"url": "{ %array_at(urls, 0) }",
"webpage_url": "{modified_webpage_url}"
},
{
"include_sibling_metadata": "{include_sibling_metadata}",
"url": "{ %array_slice(urls, 1) }",
"webpage_url": "{modified_webpage_url}"
}
],
"format": "(bv*[ext=mp4][vcodec~='^((he|a)vc|h26[45])']+ba[ext=m4a]) / (bv[ext=mp4]*+ba[ext=m4a]/b)",
"output_options": {
"file_name": "{music_video_file_name}.{ext}",
"info_json_name": "{music_video_file_name}.{info_json_ext}",
"maintain_download_archive": true,
"output_directory": "{music_video_directory}",
"thumbnail_name": "{music_video_file_name}.jpg"
},
"overrides": {
"%bilateral_url": "{ \n %if(\n %and(\n enable_bilateral_scraping,\n subscription_has_download_archive,\n %is_bilateral_url($0)\n ),\n $0,\n \"\"\n )\n}",
"%contains_url_field": "{ %not( %is_null( %get_url_field( $0, null ) ) ) }",
"%flat_array__category_to_map_format": "{ \n %array_apply_fixed(\n %assert_then(\n %is_array( $1 ),\n $1,\n \"If using album categories, each category must map to an array\"\n ),\n $0,\n %flat_array__url_to_map_format \n )\n}",
"%flat_array__url_keyed_map_format": "{ { %map_get($0, \"url\"): $0 } }",
"%flat_array__url_to_map_format": "{\n %elif(\n %is_map($0),\n %map_extend( $0, { \"category\": $1 } ),\n %is_string($0),\n { \"url\": $0, \"category\": $1 },\n %throw(\"If using album categories, each URL must be either a string or map with metadata fields\")\n )\n}",
"%get_url_field": "{ %map_get( %map( %map_get( category_url_map, ytdl_sub_input_url, {} ) ), $0, $1 ) }",
"%get_url_i": "{ \n %map_get(\n %map( %array_at( category_url_array, %int( %sub($0, 1) ), {} ) ),\n \"url\",\n %array_at(subscription_array, %int( %sub($0, 1) ), null)\n )\n}",
"%is_bilateral_url": "{ %contains( $0, \"youtube.com/playlist\" ) }",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"category_url_array": "{ %array_flatten( %map_apply( subscription_map, %flat_array__category_to_map_format ) ) }",
"category_url_map": "{\n %array_reduce(\n %array_apply( category_url_array, %flat_array__url_keyed_map_format ),\n %map_extend\n )\n}",
"enable_bilateral_scraping": true,
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"file_title": "{title_sanitized_plex}",
"file_uid": "{uid_sanitized_plex}",
"include_sibling_metadata": false,
"modified_webpage_url": "{webpage_url}",
"music_video_album": "{ %get_url_field(\"category\", music_video_album_default) }",
"music_video_album_default": "Music Videos",
"music_video_artist": "{subscription_name}",
"music_video_date": "{ \n %elif(\n %contains_url_field(\"date\"),\n %get_url_field(\"date\", upload_date_standardized),\n\n %contains_url_field(\"year\"),\n %concat( %get_url_field(\"date\", upload_year), \"-01-01\"),\n\n upload_date_standardized\n )\n}",
"music_video_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmp3bmucwsg",
"music_video_file_name": "{music_video_artist_sanitized}/{music_video_title_sanitized}{music_video_file_name_suffix}",
"music_video_file_name_suffix": "",
"music_video_genre": "{subscription_indent_1}",
"music_video_genre_default": "ytdl-sub",
"music_video_title": "{ %get_url_field(\"title\", title) }",
"music_video_year": "{\n %int(%elif(\n %contains_url_field(\"date\"),\n %slice( %get_url_field(\"date\", upload_date_standardized), 0, 4 ),\n\n %contains_url_field(\"year\"),\n %get_url_field(\"date\", upload_year),\n\n upload_year\n ))\n}",
"resolution_assert": "{\n %if(\n %and(\n enable_resolution_assert,\n %ne( height, 0 ),\n %not(resolution_assert_is_ignored)\n ),\n %assert(\n %gte( height, resolution_assert_height_gte ),\n %concat(\n \"Entry \",\n title,\n \" downloaded at a low resolution (\",\n resolution_readable,\n \"), you've probably been throttled. \",\n \"Stopping further downloads, wait a few hours and try again. \",\n \"Disable using the override variable `enable_resolution_assert: False`.\"\n )\n ),\n \"false is no-op\"\n )\n}",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [] }",
"resolution_assert_is_ignored": "{\n %print_if_true(\n %concat(title, \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\"),\n %contains_any(title, resolution_assert_ignore_titles)\n )\n}",
"resolution_assert_print": "{\n %print(\n %if(\n enable_resolution_assert,\n \"Resolution assert is enabled, will fail on low-quality video downloads and presume throttle. Disable using the override variable `enable_resolution_assert: False`\",\n \"Resolution assert is disabled. Use at your own risk!\"\n ),\n enable_resolution_assert,\n -1\n )\n}",
"resolution_readable": "{width}x{height}",
"subscription_array": "{%from_json('''[\"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc\"]''')}",
"subscription_indent_1": "Pop",
"subscription_map": "{ {} }",
"subscription_value": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"subscription_value_1": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url": "{subscription_value}",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": "{ %array_apply(%range(100, 1), %get_url_i) }"
},
"preset": [
"_base",
"_plex_base",
"_url_bilateral_overrides",
"_multi_url_bilateral_inner",
"_multi_url",
"_multi_url_bilateral",
"_throttle_protection",
"_url_categorized",
"_plex_video_base",
"_music_video_base",
"_music_video_tags",
"Plex Music Videos",
"__preset__"
],
"throttle_protection": {
"enable": "{\n %print(\n %if(\n enable_throttle_protection,\n \"Throttle protection is enabled. Disable using the override variable `enable_throttle_protection: False`\",\n \"Throttle protection is disabled. Use at your own risk!\"\n ),\n enable_throttle_protection\n )\n}",
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
},
"video_tags": {
"album": "{music_video_album}",
"artist": "{music_video_artist}",
"genre": "{music_video_genre}",
"premiered": "{music_video_date}",
"title": "{music_video_title}",
"year": "{music_video_year}"
},
"ytdl_options": {
"break_on_existing": true
}
}

View file

@ -0,0 +1,314 @@
{
"download": [
{
"download_reverse": true,
"include_sibling_metadata": false,
"playlist_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"source_thumbnails": [
{
"name": "",
"uid": "avatar_uncropped"
},
{
"name": "",
"uid": "banner_uncropped"
}
],
"url": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
],
"variables": {},
"webpage_url": "{ webpage_url }",
"ytdl_options": {}
}
],
"format": "(bv*[ext=mp4][vcodec~='^((he|a)vc|h26[45])']+ba[ext=m4a]) / (bv[ext=mp4]*+ba[ext=m4a]/b)",
"output_options": {
"download_archive_name": ".ytdl-sub-Rick Astley-download-archive.json",
"file_name": "{ %concat( \"Rick Astley\", \"/\", %sanitize( %get_url_field( \"title\", title ) ), '' ) }.{ ext }",
"info_json_name": "{ %concat( \"Rick Astley\", \"/\", %sanitize( %get_url_field( \"title\", title ) ), '' ) }.{ info_json_ext }",
"keep_files_date_eval": "{ upload_date_standardized }",
"maintain_download_archive": true,
"output_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpstvsa5ot",
"preserve_mtime": false,
"thumbnail_name": "{ %concat( \"Rick Astley\", \"/\", %sanitize( %get_url_field( \"title\", title ) ), '' ) }.jpg"
},
"overrides": {
"%bilateral_url": "{ %if( %and( enable_bilateral_scraping, subscription_has_download_archive, %is_bilateral_url( $0 ) ), $0, '' ) }",
"%contains_url_field": "{ %not( %is_null( %get_url_field( $0, '' ) ) ) }",
"%flat_array__category_to_map_format": "{ %array_apply_fixed( %assert_then( %is_array( $1 ), $1, \"If using album categories, each category must map to an array\" ), $0, %flat_array__url_to_map_format ) }",
"%flat_array__url_keyed_map_format": "{ { %map_get( $0, \"url\" ): $0 } }",
"%flat_array__url_to_map_format": "{ %elif( %is_map( $0 ), %map_extend( $0, { \"category\": $1 } ), %is_string( $0 ), { \"url\": $0, \"category\": $1 }, %throw( \"If using album categories, each URL must be either a string or map with metadata fields\" ) ) }",
"%get_url_field": "{ %map_get( %map( %map_get( category_url_map, ytdl_sub_input_url, { } ) ), $0, $1 ) }",
"%get_url_i": "{ %map_get( %map( %array_at( category_url_array, %int( %sub( $0, 1 ) ), { } ) ), \"url\", %array_at( subscription_array, %int( %sub( $0, 1 ) ), '' ) ) }",
"%is_bilateral_url": "{ %contains( $0, \"youtube.com/playlist\" ) }",
"avatar_uncropped_thumbnail_file_name": "",
"banner_uncropped_thumbnail_file_name": "",
"category_url_array": "{ [ ] }",
"category_url_map": "{ [ ] }",
"enable_bilateral_scraping": true,
"enable_resolution_assert": true,
"enable_throttle_protection": true,
"file_title": "{ title_sanitized_plex }",
"file_uid": "{ uid_sanitized_plex }",
"include_sibling_metadata": false,
"modified_webpage_url": "{ webpage_url }",
"music_video_album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"music_video_album_default": "Music Videos",
"music_video_artist": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",
"music_video_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpstvsa5ot",
"music_video_file_name": "Rick Astley/{ %sanitize( %get_url_field( \"title\", title ) ) }",
"music_video_file_name_suffix": "",
"music_video_genre": "Pop",
"music_video_genre_default": "ytdl-sub",
"music_video_title": "{ %get_url_field( \"title\", title ) }",
"music_video_year": "{ %int( %elif( %contains_url_field( \"date\" ), %slice( %get_url_field( \"date\", upload_date_standardized ), 0, 4 ), %contains_url_field( \"year\" ), %get_url_field( \"date\", upload_year ), upload_year ) ) }",
"resolution_assert": "{ %if( %and( enable_resolution_assert, %ne( height, 0 ), %not( resolution_assert_is_ignored ) ), %assert( %gte( height, resolution_assert_height_gte ), %concat( \"Entry \", title, \" downloaded at a low resolution (\", resolution_readable, \"), you've probably been throttled. \", \"Stopping further downloads, wait a few hours and try again. \", \"Disable using the override variable `enable_resolution_assert: False`.\" ) ), \"false is no-op\" ) }",
"resolution_assert_height_gte": 361,
"resolution_assert_ignore_titles": "{ [ ] }",
"resolution_assert_is_ignored": "{ %print_if_true( %concat( title, \" has a match in resolution_assert_ignore_titles, skipping resolution assert.\" ), %contains_any( title, [ ] ) ) }",
"resolution_assert_print": true,
"resolution_readable": "{ width }x{ height }",
"subscription_array": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
],
"subscription_indent_1": "Pop",
"subscription_map": {},
"subscription_value": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"subscription_value_1": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"url10": "",
"url100": "",
"url11": "",
"url12": "",
"url13": "",
"url14": "",
"url15": "",
"url16": "",
"url17": "",
"url18": "",
"url19": "",
"url2": "",
"url20": "",
"url21": "",
"url22": "",
"url23": "",
"url24": "",
"url25": "",
"url26": "",
"url27": "",
"url28": "",
"url29": "",
"url3": "",
"url30": "",
"url31": "",
"url32": "",
"url33": "",
"url34": "",
"url35": "",
"url36": "",
"url37": "",
"url38": "",
"url39": "",
"url4": "",
"url40": "",
"url41": "",
"url42": "",
"url43": "",
"url44": "",
"url45": "",
"url46": "",
"url47": "",
"url48": "",
"url49": "",
"url5": "",
"url50": "",
"url51": "",
"url52": "",
"url53": "",
"url54": "",
"url55": "",
"url56": "",
"url57": "",
"url58": "",
"url59": "",
"url6": "",
"url60": "",
"url61": "",
"url62": "",
"url63": "",
"url64": "",
"url65": "",
"url66": "",
"url67": "",
"url68": "",
"url69": "",
"url7": "",
"url70": "",
"url71": "",
"url72": "",
"url73": "",
"url74": "",
"url75": "",
"url76": "",
"url77": "",
"url78": "",
"url79": "",
"url8": "",
"url80": "",
"url81": "",
"url82": "",
"url83": "",
"url84": "",
"url85": "",
"url86": "",
"url87": "",
"url88": "",
"url89": "",
"url9": "",
"url90": "",
"url91": "",
"url92": "",
"url93": "",
"url94": "",
"url95": "",
"url96": "",
"url97": "",
"url98": "",
"url99": "",
"urls": [
"https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"throttle_protection": {
"enable": true,
"sleep_per_download_s": {
"max": 28.4,
"min": 13.8
},
"sleep_per_request_s": {
"max": 0.75,
"min": 0.0
},
"sleep_per_subscription_s": {
"max": 26.1,
"min": 16.3
}
},
"video_tags": {
"album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"artist": "Rick Astley",
"genre": "Pop",
"premiered": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",
"title": "{ %get_url_field( \"title\", title ) }",
"year": "{ %int( %elif( %contains_url_field( \"date\" ), %slice( %get_url_field( \"date\", upload_date_standardized ), 0, 4 ), %contains_url_field( \"year\" ), %get_url_field( \"date\", upload_year ), upload_year ) ) }"
}
}

View file

@ -22,8 +22,12 @@ def _ensure_resolved_yaml(
expected_out = expected_json(out, expected_out_filename)
if resolution_level > ResolutionLevel.ORIGINAL:
output_path = Path(output_directory)
if "tv_show_directory" in expected_out["overrides"]:
output_path = output_path / sub.name
expected_out["output_options"]["output_directory"] = FilePathTruncater.to_native_filepath(
str(Path(output_directory) / sub.name)
str(output_path)
)
if "tv_show_directory" in expected_out["overrides"]:
@ -37,17 +41,52 @@ def _ensure_resolved_yaml(
@pytest.mark.parametrize("resolution_level", ResolutionLevel.all())
def test_resolution_original_tv_show(
resolution_level: int,
config_file: ConfigFile,
tv_show_subscriptions_path: Path,
output_directory: str,
):
_ensure_resolved_yaml(
sub=Subscription.from_file_path(
config=config_file, subscription_path=tv_show_subscriptions_path
)[0],
output_directory=output_directory,
preset_type="tv_show",
resolution_level=resolution_level,
)
class TestResolution:
def test_resolution_tv_show(
self,
resolution_level: int,
default_config: ConfigFile,
tv_show_subscriptions_path: Path,
output_directory: str,
):
_ensure_resolved_yaml(
sub=Subscription.from_file_path(
config=default_config, subscription_path=tv_show_subscriptions_path
)[0],
output_directory=output_directory,
preset_type="tv_show",
resolution_level=resolution_level,
)
def test_resolution_music(
self,
resolution_level: int,
default_config: ConfigFile,
music_subscriptions_path: Path,
output_directory: str,
):
_ensure_resolved_yaml(
sub=Subscription.from_file_path(
config=default_config, subscription_path=music_subscriptions_path
)[0],
output_directory=output_directory,
preset_type="music",
resolution_level=resolution_level,
)
def test_resolution_music_video(
self,
resolution_level: int,
default_config: ConfigFile,
music_video_subscription_path: Path,
output_directory: str,
):
_ensure_resolved_yaml(
sub=Subscription.from_file_path(
config=default_config, subscription_path=music_video_subscription_path
)[0],
output_directory=output_directory,
preset_type="music_video",
resolution_level=resolution_level,
)