250 lines
No EOL
17 KiB
JSON
250 lines
No EOL
17 KiB
JSON
{
|
|
"chapters": {
|
|
"allow_chapters_from_comments": false,
|
|
"embed_chapters": true,
|
|
"enable": true,
|
|
"force_key_frames": false
|
|
},
|
|
"date_range": {
|
|
"breaks": true,
|
|
"enable": true,
|
|
"type": "upload_date"
|
|
},
|
|
"download": [
|
|
{
|
|
"download_reverse": true,
|
|
"include_sibling_metadata": false,
|
|
"playlist_thumbnails": [
|
|
{
|
|
"name": "poster.jpg",
|
|
"uid": "avatar_uncropped"
|
|
},
|
|
{
|
|
"name": "fanart.jpg",
|
|
"uid": "banner_uncropped"
|
|
}
|
|
],
|
|
"source_thumbnails": [
|
|
{
|
|
"name": "poster.jpg",
|
|
"uid": "avatar_uncropped"
|
|
},
|
|
{
|
|
"name": "fanart.jpg",
|
|
"uid": "banner_uncropped"
|
|
}
|
|
],
|
|
"url": [
|
|
"https://www.youtube.com/@novapbs"
|
|
],
|
|
"variables": {},
|
|
"webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
|
|
"ytdl_options": {}
|
|
}
|
|
],
|
|
"file_convert": {
|
|
"convert_to": "mp4",
|
|
"convert_with": "yt-dlp",
|
|
"enable": true
|
|
},
|
|
"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-NOVA PBS-download-archive.json",
|
|
"file_name": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }/s{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.e{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) } - { %sanitize( %sanitize_plex_episode( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) }.{ ext }",
|
|
"info_json_name": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }/s{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.e{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) } - { %sanitize( %sanitize_plex_episode( %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/tmpup1qibc_/NOVA PBS",
|
|
"preserve_mtime": false,
|
|
"thumbnail_name": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }/s{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.e{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) } - { %sanitize( %sanitize_plex_episode( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) }-thumb.jpg"
|
|
},
|
|
"overrides": {
|
|
"%bilateral_url": "{ %if( %and( enable_bilateral_scraping, subscription_has_download_archive, %is_bilateral_url( $0 ) ), $0, '' ) }",
|
|
"%episode_ordering_": "{ %eq( %lower( tv_show_by_date_episode_ordering ), $0 ) }",
|
|
"%is_bilateral_url": "{ %contains( $0, \"youtube.com/playlist\" ) }",
|
|
"%ordering_pair_eq": "{ %eq( [ tv_show_by_date_season_ordering, tv_show_by_date_episode_ordering ], [ $0, $1 ] ) }",
|
|
"%season_ordering_": "{ %eq( %lower( tv_show_by_date_season_ordering ), $0 ) }",
|
|
"assert_not_collection": true,
|
|
"avatar_uncropped_thumbnail_file_name": "poster.jpg",
|
|
"banner_uncropped_thumbnail_file_name": "fanart.jpg",
|
|
"enable_bilateral_scraping": true,
|
|
"enable_resolution_assert": true,
|
|
"enable_throttle_protection": true,
|
|
"episode_content_rating": "TV-14",
|
|
"episode_date_standardized": "{ %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\" ) ) }",
|
|
"episode_file_name": "s{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.e{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) } - { %sanitize_plex_episode( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) }",
|
|
"episode_file_path": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }/s{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.e{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) } - { %sanitize( %sanitize_plex_episode( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) }",
|
|
"episode_number": "{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ) }{ %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) }{ %pad_zero( upload_date_index, 2 ) }",
|
|
"episode_number_and_padded_": "{ [ %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ), 6 ] }",
|
|
"episode_number_padded": "{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) }",
|
|
"episode_plot": "{ %map_get( entry_metadata, \"webpage_url\" ) }\n\n{ %map_get_non_empty( entry_metadata, \"description\", '' ) }",
|
|
"episode_title": "{ %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\" ) } - { %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) }",
|
|
"episode_year": "{ %slice( %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\" ) ), 0, 4 ) }",
|
|
"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\" ) }",
|
|
"only_recent_date_range": "2months",
|
|
"only_recent_max_files": 30,
|
|
"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 }",
|
|
"s01_name": "",
|
|
"s01_url": "",
|
|
"season_directory_name": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }",
|
|
"season_number": "{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }",
|
|
"season_number_padded": "{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }",
|
|
"season_poster_file_name": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }/Season{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.jpg",
|
|
"subscription_array": [
|
|
"https://www.youtube.com/@novapbs"
|
|
],
|
|
"subscription_indent_1": "Documentaries",
|
|
"subscription_indent_2": "TV-14",
|
|
"subscription_value": "https://www.youtube.com/@novapbs",
|
|
"subscription_value_1": "https://www.youtube.com/@novapbs",
|
|
"thumbnail_file_name": "Season { %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }/s{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"year\" ) ) }.e{ %pad_zero( %int( %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ) ), 6 ) } - { %sanitize( %sanitize_plex_episode( %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) ) ) }-thumb.jpg",
|
|
"tv_show_by_date_episode_ordering": "upload-month-day",
|
|
"tv_show_by_date_ordering_pair_validation_": "{ [ %concat( %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ), %string( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) ), %pad_zero( upload_date_index, 2 ) ), 6 ] }",
|
|
"tv_show_by_date_season_ordering": "upload-year",
|
|
"tv_show_content_rating": "TV-14",
|
|
"tv_show_content_rating_default": "TV-14",
|
|
"tv_show_date_range_type": "upload_date",
|
|
"tv_show_directory": "/var/folders/rw/hl1xmkmj68zdl2kjx3l0dwzc0000gn/T/tmpup1qibc_",
|
|
"tv_show_fanart_file_name": "fanart.jpg",
|
|
"tv_show_genre": "Documentaries",
|
|
"tv_show_genre_default": "ytdl-sub",
|
|
"tv_show_name": "NOVA PBS",
|
|
"tv_show_poster_file_name": "poster.jpg",
|
|
"url": "https://www.youtube.com/@novapbs",
|
|
"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/@novapbs"
|
|
]
|
|
},
|
|
"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": {
|
|
"contentRating": "TV-14",
|
|
"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\" ) ) }",
|
|
"episode_id": "{ %int( %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"month\" ) ) }{ %map_get( %to_date_metadata( %map_get_non_empty( entry_metadata, \"upload_date\", %datetime_strftime( %map_get( entry_metadata, \"epoch\" ), \"%Y%m%d\" ) ) ), \"day_padded\" ) }{ %pad_zero( upload_date_index, 2 ) }",
|
|
"genre": "Documentaries",
|
|
"show": "NOVA PBS",
|
|
"synopsis": "{ %map_get( entry_metadata, \"webpage_url\" ) }\n\n{ %map_get_non_empty( entry_metadata, \"description\", '' ) }",
|
|
"title": "{ %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\" ) } - { %map_get_non_empty( entry_metadata, \"title\", %map_get( entry_metadata, \"id\" ) ) }",
|
|
"year": "{ %slice( %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\" ) ), 0, 4 ) }"
|
|
}
|
|
} |