[DEV] Prebuilt Presets Revamp (#864)
Modifies some of the prebuilt preset logic in the backend
This commit is contained in:
parent
d2e733f2e7
commit
c7823a40ad
13 changed files with 391 additions and 341 deletions
|
|
@ -1,16 +1,29 @@
|
||||||
|
|
||||||
|
|
||||||
presets:
|
presets:
|
||||||
|
|
||||||
best_video_quality:
|
"Only Recent":
|
||||||
format: "bestvideo+bestaudio/best"
|
preset:
|
||||||
ytdl_options:
|
- "Only Recent Archive"
|
||||||
merge_output_format: "mp4"
|
# Only fetch videos after today minus date_range
|
||||||
|
|
||||||
|
# Only keep files uploaded after date_range
|
||||||
|
output_options:
|
||||||
|
keep_files_after: "today-{only_recent_date_range}"
|
||||||
|
keep_max_files: "{only_recent_max_files}"
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
only_recent_max_files: 0
|
||||||
|
|
||||||
|
|
||||||
|
"Only Recent Archive":
|
||||||
|
# Only fetch videos after today minus date_range
|
||||||
|
date_range:
|
||||||
|
after: "today-{only_recent_date_range}"
|
||||||
|
|
||||||
|
# Set the default date_range to 2 months
|
||||||
|
overrides:
|
||||||
|
date_range: "2months" # keep for legacy-reasons
|
||||||
|
only_recent_date_range: "{date_range}"
|
||||||
|
|
||||||
max_1080p:
|
|
||||||
format: "(bv*[height<=1080]+bestaudio/best[height<=1080])"
|
|
||||||
ytdl_options:
|
|
||||||
merge_output_format: "mp4"
|
|
||||||
|
|
||||||
chunk_initial_download:
|
chunk_initial_download:
|
||||||
ytdl_options:
|
ytdl_options:
|
||||||
|
|
@ -19,18 +32,6 @@ presets:
|
||||||
break_on_existing: False
|
break_on_existing: False
|
||||||
break_on_reject: True
|
break_on_reject: True
|
||||||
|
|
||||||
"Only Recent":
|
"Download in Chunks":
|
||||||
# Only fetch videos after today minus date_range
|
preset:
|
||||||
date_range:
|
- chunk_initial_download
|
||||||
after: "today-{only_recent_date_range}"
|
|
||||||
|
|
||||||
# Only keep files uploaded after date_range
|
|
||||||
output_options:
|
|
||||||
keep_files_after: "today-{only_recent_date_range}"
|
|
||||||
keep_max_files: "{only_recent_max_files}"
|
|
||||||
|
|
||||||
# Set the default date_range to 2 months
|
|
||||||
overrides:
|
|
||||||
date_range: "2months" # keep for legacy-reasons
|
|
||||||
only_recent_date_range: "{date_range}"
|
|
||||||
only_recent_max_files: 0
|
|
||||||
40
src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml
Normal file
40
src/ytdl_sub/prebuilt_presets/helpers/media_quality.yaml
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
presets:
|
||||||
|
|
||||||
|
best_video_quality:
|
||||||
|
format: "bestvideo+bestaudio/best"
|
||||||
|
ytdl_options:
|
||||||
|
merge_output_format: "mp4"
|
||||||
|
|
||||||
|
"Best Video Quality":
|
||||||
|
preset:
|
||||||
|
- best_video_quality
|
||||||
|
|
||||||
|
|
||||||
|
"Max 2160p":
|
||||||
|
format: "(bv*[height<=2160]+bestaudio/best[height<=2160])"
|
||||||
|
ytdl_options:
|
||||||
|
merge_output_format: "mp4"
|
||||||
|
|
||||||
|
"Max 1440p":
|
||||||
|
format: "(bv*[height<=1440]+bestaudio/best[height<=1440])"
|
||||||
|
ytdl_options:
|
||||||
|
merge_output_format: "mp4"
|
||||||
|
|
||||||
|
max_1080p:
|
||||||
|
format: "(bv*[height<=1080]+bestaudio/best[height<=1080])"
|
||||||
|
ytdl_options:
|
||||||
|
merge_output_format: "mp4"
|
||||||
|
|
||||||
|
"Max 1080p":
|
||||||
|
preset:
|
||||||
|
- max_1080p
|
||||||
|
|
||||||
|
"Max 720p":
|
||||||
|
format: "(bv*[height<=720]+bestaudio/best[height<=720])"
|
||||||
|
ytdl_options:
|
||||||
|
merge_output_format: "mp4"
|
||||||
|
|
||||||
|
"Max 480p":
|
||||||
|
format: "(bv*[height<=480]+bestaudio/best[height<=480])"
|
||||||
|
ytdl_options:
|
||||||
|
merge_output_format: "mp4"
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
presets:
|
||||||
|
|
||||||
|
# assumes that each chapter in an entry is a song
|
||||||
|
_albums_from_chapters:
|
||||||
|
preset: "Single"
|
||||||
|
|
||||||
|
chapters:
|
||||||
|
embed_chapters: True
|
||||||
|
split_by_chapters:
|
||||||
|
when_no_chapters: "pass"
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
track_title: "{chapter_title}" # Chapter title is the track title
|
||||||
|
track_album: "{title}" # Video's title is the album title
|
||||||
|
track_number: "{chapter_index}"
|
||||||
|
track_number_padded: "{chapter_index_padded}"
|
||||||
|
track_total: "{chapter_count}"
|
||||||
|
|
||||||
|
"YouTube Full Albums":
|
||||||
|
preset:
|
||||||
|
- "_albums_from_chapters"
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
presets:
|
||||||
|
|
||||||
|
# assumes that each entry is a song in one album
|
||||||
|
_albums_from_playlists:
|
||||||
|
preset:
|
||||||
|
- "_music_base"
|
||||||
|
|
||||||
|
download:
|
||||||
|
- url: "{url}"
|
||||||
|
include_sibling_metadata: True
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
track_album: "{playlist_title}"
|
||||||
|
track_number: "{playlist_index}"
|
||||||
|
track_number_padded: "{playlist_index_padded}"
|
||||||
|
track_total: "{playlist_count}"
|
||||||
|
track_year: "{playlist_max_upload_year}"
|
||||||
|
|
||||||
|
"YouTube Releases":
|
||||||
|
preset:
|
||||||
|
- "_albums_from_playlists"
|
||||||
|
|
||||||
|
"Bandcamp":
|
||||||
|
preset:
|
||||||
|
- "_albums_from_playlists"
|
||||||
|
regex:
|
||||||
|
from:
|
||||||
|
title:
|
||||||
|
match:
|
||||||
|
- ".*? - (.*)" # Captures 'Some - Song' from 'Emily Hopkins - Some - Song'
|
||||||
|
capture_group_names:
|
||||||
|
- "captured_track_title"
|
||||||
|
capture_group_defaults:
|
||||||
|
- "{title}"
|
||||||
|
overrides:
|
||||||
|
track_title: "{captured_track_title}"
|
||||||
|
|
@ -1,163 +0,0 @@
|
||||||
presets:
|
|
||||||
|
|
||||||
_music_base:
|
|
||||||
output_options:
|
|
||||||
output_directory: "{music_directory}"
|
|
||||||
file_name: "{track_full_path}"
|
|
||||||
thumbnail_name: "{album_cover_path}"
|
|
||||||
maintain_download_archive: True
|
|
||||||
|
|
||||||
ytdl_options:
|
|
||||||
break_on_existing: True
|
|
||||||
|
|
||||||
format: "ba[ext=webm]/ba"
|
|
||||||
|
|
||||||
audio_extract:
|
|
||||||
codec: "best"
|
|
||||||
|
|
||||||
music_tags:
|
|
||||||
artist: "{track_artist}"
|
|
||||||
albumartist: "{track_album_artist}"
|
|
||||||
title: "{track_title}"
|
|
||||||
album: "{track_album}"
|
|
||||||
track: "{track_number}"
|
|
||||||
tracktotal: "{track_total}"
|
|
||||||
year: "{track_year}"
|
|
||||||
# multi-tags
|
|
||||||
artists:
|
|
||||||
- "{track_artist}"
|
|
||||||
albumartists:
|
|
||||||
- "{track_album_artist}"
|
|
||||||
genres:
|
|
||||||
- "{track_genre}"
|
|
||||||
|
|
||||||
overrides:
|
|
||||||
# MUST DEFINE:
|
|
||||||
# music_directory
|
|
||||||
|
|
||||||
# Defaults
|
|
||||||
track_genre_default: "Unset"
|
|
||||||
|
|
||||||
# Subscription overrides
|
|
||||||
subscription_indent_1: "{track_genre_default}"
|
|
||||||
subscription_value: ""
|
|
||||||
url: "{subscription_value}"
|
|
||||||
|
|
||||||
# Track Overrides
|
|
||||||
track_title: "{title}"
|
|
||||||
track_album: "{title}"
|
|
||||||
track_artist: "{subscription_name}"
|
|
||||||
track_album_artist: "{track_artist}"
|
|
||||||
track_number: "1"
|
|
||||||
track_number_padded: "01"
|
|
||||||
track_total: "1"
|
|
||||||
track_year: "{upload_year}"
|
|
||||||
track_genre: "{subscription_indent_1}"
|
|
||||||
|
|
||||||
# Directory Overrides
|
|
||||||
artist_dir: "{track_artist_sanitized}"
|
|
||||||
album_dir: "[{track_year}] {track_album_sanitized}"
|
|
||||||
track_file_name: "{track_number_padded} - {track_title_sanitized}.{ext}"
|
|
||||||
track_full_path: "{artist_dir}/{album_dir}/{track_file_name}"
|
|
||||||
album_cover_path: "{artist_dir}/{album_dir}/folder.{thumbnail_ext}"
|
|
||||||
|
|
||||||
|
|
||||||
"Single":
|
|
||||||
preset:
|
|
||||||
- "_music_base"
|
|
||||||
|
|
||||||
download:
|
|
||||||
- url: "{url}"
|
|
||||||
include_sibling_metadata: False
|
|
||||||
|
|
||||||
|
|
||||||
_albums_from_playlists:
|
|
||||||
preset:
|
|
||||||
- "_music_base"
|
|
||||||
|
|
||||||
download:
|
|
||||||
- url: "{url}"
|
|
||||||
include_sibling_metadata: True
|
|
||||||
|
|
||||||
overrides:
|
|
||||||
track_album: "{playlist_title}"
|
|
||||||
track_number: "{playlist_index}"
|
|
||||||
track_number_padded: "{playlist_index_padded}"
|
|
||||||
track_total: "{playlist_count}"
|
|
||||||
track_year: "{playlist_max_upload_year}"
|
|
||||||
|
|
||||||
|
|
||||||
_albums_from_chapters:
|
|
||||||
preset: "Single"
|
|
||||||
|
|
||||||
chapters:
|
|
||||||
embed_chapters: True
|
|
||||||
split_by_chapters:
|
|
||||||
when_no_chapters: "pass"
|
|
||||||
|
|
||||||
overrides:
|
|
||||||
track_title: "{chapter_title}" # Chapter title is the track title
|
|
||||||
track_album: "{title}" # Video's title is the album title
|
|
||||||
track_number: "{chapter_index}"
|
|
||||||
track_number_padded: "{chapter_index_padded}"
|
|
||||||
track_total: "{chapter_count}"
|
|
||||||
|
|
||||||
"SoundCloud Discography":
|
|
||||||
preset: "_music_base"
|
|
||||||
|
|
||||||
# Download using the multi_url strategy
|
|
||||||
download:
|
|
||||||
download_strategy: "multi_url"
|
|
||||||
urls:
|
|
||||||
# The first URL will be all the artist's tracks.
|
|
||||||
# Treat these as singles - an album with a single track
|
|
||||||
- url: "{url}/tracks"
|
|
||||||
include_sibling_metadata: False
|
|
||||||
variables:
|
|
||||||
sc_track_album: "{title}"
|
|
||||||
sc_track_number: "1"
|
|
||||||
sc_track_number_padded: "01"
|
|
||||||
sc_track_total: "1"
|
|
||||||
sc_track_year: "{upload_year}"
|
|
||||||
# Set the second URL to the artist's albums. If a track belongs to both
|
|
||||||
# to an album and tracks (in the URL above), it will resolve to this
|
|
||||||
# URL and include the album metadata we set below.
|
|
||||||
- url: "{url}/albums"
|
|
||||||
include_sibling_metadata: True
|
|
||||||
variables:
|
|
||||||
sc_track_album: "{playlist_title}"
|
|
||||||
sc_track_number: "{playlist_index}"
|
|
||||||
sc_track_number_padded: "{playlist_index_padded}"
|
|
||||||
sc_track_total: "{playlist_count}"
|
|
||||||
sc_track_year: "{playlist_max_upload_year}"
|
|
||||||
|
|
||||||
# Override various track properties using playlist variables.
|
|
||||||
overrides:
|
|
||||||
track_album: "{sc_track_album}"
|
|
||||||
track_number: "{sc_track_number}"
|
|
||||||
track_number_padded: "{sc_track_number_padded}"
|
|
||||||
track_total: "{sc_track_total}"
|
|
||||||
track_year: "{sc_track_year}"
|
|
||||||
|
|
||||||
"YouTube Releases":
|
|
||||||
preset:
|
|
||||||
- "_albums_from_playlists"
|
|
||||||
|
|
||||||
"YouTube Full Albums":
|
|
||||||
preset:
|
|
||||||
- "_albums_from_chapters"
|
|
||||||
|
|
||||||
"Bandcamp":
|
|
||||||
preset:
|
|
||||||
- "_albums_from_playlists"
|
|
||||||
regex:
|
|
||||||
from:
|
|
||||||
title:
|
|
||||||
match:
|
|
||||||
- ".*? - (.*)" # Captures 'Some - Song' from 'Emily Hopkins - Some - Song'
|
|
||||||
capture_group_names:
|
|
||||||
- "captured_track_title"
|
|
||||||
capture_group_defaults:
|
|
||||||
- "{title}"
|
|
||||||
overrides:
|
|
||||||
track_title: "{captured_track_title}"
|
|
||||||
38
src/ytdl_sub/prebuilt_presets/music/other_websites.yaml
Normal file
38
src/ytdl_sub/prebuilt_presets/music/other_websites.yaml
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
presets:
|
||||||
|
|
||||||
|
"SoundCloud Discography":
|
||||||
|
preset: "_music_base"
|
||||||
|
|
||||||
|
# Download using the multi_url strategy
|
||||||
|
download:
|
||||||
|
download_strategy: "multi_url"
|
||||||
|
urls:
|
||||||
|
# The first URL will be all the artist's tracks.
|
||||||
|
# Treat these as singles - an album with a single track
|
||||||
|
- url: "{url}/tracks"
|
||||||
|
include_sibling_metadata: False
|
||||||
|
variables:
|
||||||
|
sc_track_album: "{title}"
|
||||||
|
sc_track_number: "1"
|
||||||
|
sc_track_number_padded: "01"
|
||||||
|
sc_track_total: "1"
|
||||||
|
sc_track_year: "{upload_year}"
|
||||||
|
# Set the second URL to the artist's albums. If a track belongs to both
|
||||||
|
# to an album and tracks (in the URL above), it will resolve to this
|
||||||
|
# URL and include the album metadata we set below.
|
||||||
|
- url: "{url}/albums"
|
||||||
|
include_sibling_metadata: True
|
||||||
|
variables:
|
||||||
|
sc_track_album: "{playlist_title}"
|
||||||
|
sc_track_number: "{playlist_index}"
|
||||||
|
sc_track_number_padded: "{playlist_index_padded}"
|
||||||
|
sc_track_total: "{playlist_count}"
|
||||||
|
sc_track_year: "{playlist_max_upload_year}"
|
||||||
|
|
||||||
|
# Override various track properties using playlist variables.
|
||||||
|
overrides:
|
||||||
|
track_album: "{sc_track_album}"
|
||||||
|
track_number: "{sc_track_number}"
|
||||||
|
track_number_padded: "{sc_track_number_padded}"
|
||||||
|
track_total: "{sc_track_total}"
|
||||||
|
track_year: "{sc_track_year}"
|
||||||
72
src/ytdl_sub/prebuilt_presets/music/singles.yaml
Normal file
72
src/ytdl_sub/prebuilt_presets/music/singles.yaml
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
presets:
|
||||||
|
|
||||||
|
|
||||||
|
_music_base:
|
||||||
|
output_options:
|
||||||
|
output_directory: "{music_directory}"
|
||||||
|
file_name: "{track_full_path}"
|
||||||
|
thumbnail_name: "{album_cover_path}"
|
||||||
|
maintain_download_archive: True
|
||||||
|
|
||||||
|
ytdl_options:
|
||||||
|
break_on_existing: True
|
||||||
|
|
||||||
|
format: "ba[ext=webm]/ba"
|
||||||
|
|
||||||
|
audio_extract:
|
||||||
|
codec: "best"
|
||||||
|
|
||||||
|
music_tags:
|
||||||
|
artist: "{track_artist}"
|
||||||
|
albumartist: "{track_album_artist}"
|
||||||
|
title: "{track_title}"
|
||||||
|
album: "{track_album}"
|
||||||
|
track: "{track_number}"
|
||||||
|
tracktotal: "{track_total}"
|
||||||
|
year: "{track_year}"
|
||||||
|
# multi-tags
|
||||||
|
artists:
|
||||||
|
- "{track_artist}"
|
||||||
|
albumartists:
|
||||||
|
- "{track_album_artist}"
|
||||||
|
genres:
|
||||||
|
- "{track_genre}"
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
# MUST DEFINE:
|
||||||
|
# music_directory
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
track_genre_default: "Unset"
|
||||||
|
|
||||||
|
# Subscription overrides
|
||||||
|
subscription_indent_1: "{track_genre_default}"
|
||||||
|
subscription_value: ""
|
||||||
|
url: "{subscription_value}"
|
||||||
|
|
||||||
|
# Track Overrides
|
||||||
|
track_title: "{title}"
|
||||||
|
track_album: "{title}"
|
||||||
|
track_artist: "{subscription_name}"
|
||||||
|
track_album_artist: "{track_artist}"
|
||||||
|
track_number: "1"
|
||||||
|
track_number_padded: "01"
|
||||||
|
track_total: "1"
|
||||||
|
track_year: "{upload_year}"
|
||||||
|
track_genre: "{subscription_indent_1}"
|
||||||
|
|
||||||
|
# Directory Overrides
|
||||||
|
artist_dir: "{track_artist_sanitized}"
|
||||||
|
album_dir: "[{track_year}] {track_album_sanitized}"
|
||||||
|
track_file_name: "{track_number_padded} - {track_title_sanitized}.{ext}"
|
||||||
|
track_full_path: "{artist_dir}/{album_dir}/{track_file_name}"
|
||||||
|
album_cover_path: "{artist_dir}/{album_dir}/folder.{thumbnail_ext}"
|
||||||
|
|
||||||
|
|
||||||
|
"Single":
|
||||||
|
preset:
|
||||||
|
- "_music_base"
|
||||||
|
|
||||||
|
download:
|
||||||
|
- url: "{url}"
|
||||||
|
include_sibling_metadata: False
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
presets:
|
||||||
|
_music_video_base:
|
||||||
|
preset:
|
||||||
|
- "_multi_url"
|
||||||
|
|
||||||
|
output_options:
|
||||||
|
output_directory: "{music_video_directory}"
|
||||||
|
file_name: "{music_video_file_name}.{ext}"
|
||||||
|
thumbnail_name: "{music_video_file_name}.jpg"
|
||||||
|
maintain_download_archive: True
|
||||||
|
|
||||||
|
ytdl_options:
|
||||||
|
break_on_existing: True
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
# MUST DEFINE:
|
||||||
|
# music_video_directory
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
music_video_genre_default: "ytdl-sub"
|
||||||
|
music_video_album_default: "Music Videos"
|
||||||
|
|
||||||
|
# Subscription overrides
|
||||||
|
subscription_indent_1: "{music_video_genre_default}"
|
||||||
|
|
||||||
|
# Music Video Overrides
|
||||||
|
music_video_title: "{title}"
|
||||||
|
music_video_album: "{music_video_album_default}"
|
||||||
|
music_video_artist: "{subscription_name}"
|
||||||
|
music_video_year: "{upload_year}"
|
||||||
|
music_video_date: "{upload_date_standardized}"
|
||||||
|
music_video_genre: "{subscription_indent_1}"
|
||||||
|
|
||||||
|
# Directory Overrides
|
||||||
|
music_video_file_name: "{music_video_artist_sanitized}/{music_video_title_sanitized}"
|
||||||
|
|
@ -1,38 +1,24 @@
|
||||||
presets:
|
presets:
|
||||||
_music_video_base:
|
|
||||||
|
"Jellyfin Music Videos":
|
||||||
preset:
|
preset:
|
||||||
- "_multi_url"
|
- "_base"
|
||||||
|
- "_music_video_base"
|
||||||
|
- "_music_video_nfo"
|
||||||
|
- "_music_video_tags"
|
||||||
|
|
||||||
output_options:
|
"Kodi Music Videos":
|
||||||
output_directory: "{music_video_directory}"
|
preset:
|
||||||
file_name: "{music_video_file_name}.{ext}"
|
- "_kodi_base"
|
||||||
thumbnail_name: "{music_video_file_name}.jpg"
|
- "_music_video_base"
|
||||||
maintain_download_archive: True
|
- "_music_video_nfo"
|
||||||
|
- "_music_video_tags"
|
||||||
|
|
||||||
ytdl_options:
|
"Plex Music Videos":
|
||||||
break_on_existing: True
|
preset:
|
||||||
|
- "_plex_video_base"
|
||||||
overrides:
|
- "_music_video_base"
|
||||||
# MUST DEFINE:
|
- "_music_video_tags"
|
||||||
# music_video_directory
|
|
||||||
|
|
||||||
# Defaults
|
|
||||||
music_video_genre_default: "ytdl-sub"
|
|
||||||
music_video_album_default: "Music Videos"
|
|
||||||
|
|
||||||
# Subscription overrides
|
|
||||||
subscription_indent_1: "{music_video_genre_default}"
|
|
||||||
|
|
||||||
# Music Video Overrides
|
|
||||||
music_video_title: "{title}"
|
|
||||||
music_video_album: "{music_video_album_default}"
|
|
||||||
music_video_artist: "{subscription_name}"
|
|
||||||
music_video_year: "{upload_year}"
|
|
||||||
music_video_date: "{upload_date_standardized}"
|
|
||||||
music_video_genre: "{subscription_indent_1}"
|
|
||||||
|
|
||||||
# Directory Overrides
|
|
||||||
music_video_file_name: "{music_video_artist_sanitized}/{music_video_title_sanitized}"
|
|
||||||
|
|
||||||
_music_video_nfo:
|
_music_video_nfo:
|
||||||
nfo_tags:
|
nfo_tags:
|
||||||
|
|
@ -55,23 +41,3 @@ presets:
|
||||||
genre: "{music_video_genre}"
|
genre: "{music_video_genre}"
|
||||||
year: "{music_video_year}"
|
year: "{music_video_year}"
|
||||||
premiered: "{music_video_date}"
|
premiered: "{music_video_date}"
|
||||||
|
|
||||||
"Jellyfin Music Videos":
|
|
||||||
preset:
|
|
||||||
- "_base"
|
|
||||||
- "_music_video_base"
|
|
||||||
- "_music_video_nfo"
|
|
||||||
- "_music_video_tags"
|
|
||||||
|
|
||||||
"Kodi Music Videos":
|
|
||||||
preset:
|
|
||||||
- "_kodi_base"
|
|
||||||
- "_music_video_base"
|
|
||||||
- "_music_video_nfo"
|
|
||||||
- "_music_video_tags"
|
|
||||||
|
|
||||||
"Plex Music Videos":
|
|
||||||
preset:
|
|
||||||
- "_plex_video_base"
|
|
||||||
- "_music_video_base"
|
|
||||||
- "_music_video_tags"
|
|
||||||
|
|
@ -6,7 +6,7 @@ presets:
|
||||||
output_options:
|
output_options:
|
||||||
output_directory: "{tv_show_directory}/{tv_show_name_sanitized}"
|
output_directory: "{tv_show_directory}/{tv_show_name_sanitized}"
|
||||||
file_name: "{episode_file_path}.{ext}"
|
file_name: "{episode_file_path}.{ext}"
|
||||||
thumbnail_name: "{episode_file_path}-thumb.jpg"
|
thumbnail_name: "{thumbnail_file_name}"
|
||||||
info_json_name: "{episode_file_path}.{info_json_ext}"
|
info_json_name: "{episode_file_path}.{info_json_ext}"
|
||||||
maintain_download_archive: True
|
maintain_download_archive: True
|
||||||
|
|
||||||
|
|
@ -43,102 +43,7 @@ presets:
|
||||||
episode_date_standardized: "{upload_date_standardized}"
|
episode_date_standardized: "{upload_date_standardized}"
|
||||||
episode_file_name: "s{season_number_padded}.e{episode_number_padded} - {file_title}"
|
episode_file_name: "s{season_number_padded}.e{episode_number_padded} - {file_title}"
|
||||||
episode_file_path: "{season_directory_name_sanitized}/{episode_file_name_sanitized}"
|
episode_file_path: "{season_directory_name_sanitized}/{episode_file_name_sanitized}"
|
||||||
|
thumbnail_file_name: "{episode_file_path}-thumb.jpg"
|
||||||
|
|
||||||
_episode_video_tags:
|
|
||||||
video_tags:
|
|
||||||
show: "{tv_show_name}"
|
|
||||||
genre: "{tv_show_genre}"
|
|
||||||
episode_id: "{episode_number}"
|
|
||||||
title: "{episode_title}"
|
|
||||||
synopsis: "{episode_plot}"
|
|
||||||
year: "{episode_year}"
|
|
||||||
date: "{episode_date_standardized}"
|
|
||||||
contentRating: "{episode_content_rating}"
|
|
||||||
|
|
||||||
_episode_nfo_tags:
|
|
||||||
nfo_tags:
|
|
||||||
nfo_name: "{episode_file_path}.nfo"
|
|
||||||
nfo_root: "episodedetails"
|
|
||||||
tags:
|
|
||||||
genre:
|
|
||||||
- "{tv_show_genre}"
|
|
||||||
season: "{season_number}"
|
|
||||||
episode: "{episode_number}"
|
|
||||||
title: "{episode_title}"
|
|
||||||
plot: "{episode_plot}"
|
|
||||||
year: "{episode_year}"
|
|
||||||
aired: "{episode_date_standardized}"
|
|
||||||
mpaa: "{episode_content_rating}"
|
|
||||||
|
|
||||||
output_directory_nfo_tags:
|
|
||||||
nfo_name: "tvshow.nfo"
|
|
||||||
nfo_root: "tvshow"
|
|
||||||
tags:
|
|
||||||
title: "{tv_show_name}"
|
|
||||||
genre:
|
|
||||||
- "{tv_show_genre}"
|
|
||||||
mpaa: "{tv_show_content_rating}"
|
|
||||||
|
|
||||||
####################################################################################################
|
|
||||||
|
|
||||||
_season_by_year:
|
|
||||||
overrides:
|
|
||||||
season_number: "{upload_year}"
|
|
||||||
season_number_padded: "{season_number}"
|
|
||||||
|
|
||||||
_season_by_year_month:
|
|
||||||
overrides:
|
|
||||||
season_number: "{upload_year}{upload_month_padded}"
|
|
||||||
season_number_padded: "{season_number}"
|
|
||||||
|
|
||||||
####################################################################################################
|
|
||||||
|
|
||||||
season_by_year_month__episode_by_day:
|
|
||||||
preset:
|
|
||||||
- "_season_by_year_month"
|
|
||||||
overrides:
|
|
||||||
episode_number: "{upload_day}{upload_date_index_padded}"
|
|
||||||
episode_number_padded: "{upload_day_padded}{upload_date_index_padded}"
|
|
||||||
|
|
||||||
season_by_year__episode_by_month_day:
|
|
||||||
preset:
|
|
||||||
- "_season_by_year"
|
|
||||||
overrides:
|
|
||||||
episode_number: "{upload_month}{upload_day_padded}{upload_date_index_padded}"
|
|
||||||
episode_number_padded: "{upload_month_padded}{upload_day_padded}{upload_date_index_padded}"
|
|
||||||
|
|
||||||
season_by_year__episode_by_month_day_reversed:
|
|
||||||
preset:
|
|
||||||
- "_season_by_year"
|
|
||||||
overrides:
|
|
||||||
episode_number: "{upload_day_of_year_reversed}{upload_date_index_reversed_padded}"
|
|
||||||
episode_number_padded: "{upload_day_of_year_reversed_padded}{upload_date_index_reversed_padded}"
|
|
||||||
|
|
||||||
season_by_year__episode_by_download_index:
|
|
||||||
preset:
|
|
||||||
- "_season_by_year"
|
|
||||||
overrides:
|
|
||||||
episode_number: "{download_index}"
|
|
||||||
episode_number_padded: "{download_index_padded6}"
|
|
||||||
|
|
||||||
###############
|
|
||||||
|
|
||||||
season_by_collection__episode_by_year_month_day:
|
|
||||||
overrides:
|
|
||||||
episode_number: "{upload_year_truncated}{upload_month_padded}{upload_day_padded}{upload_date_index_padded}"
|
|
||||||
episode_number_padded: "{episode_number}"
|
|
||||||
|
|
||||||
season_by_collection__episode_by_year_month_day_reversed:
|
|
||||||
overrides:
|
|
||||||
episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{upload_date_index_reversed_padded}"
|
|
||||||
episode_number_padded: "{episode_number}"
|
|
||||||
|
|
||||||
season_by_collection__episode_by_playlist_index:
|
|
||||||
overrides:
|
|
||||||
episode_number: "{playlist_index}"
|
|
||||||
episode_number_padded: "{playlist_index_padded6}"
|
|
||||||
|
|
||||||
season_by_collection__episode_by_playlist_index_reversed:
|
|
||||||
overrides:
|
|
||||||
episode_number: "{playlist_index_reversed}"
|
|
||||||
episode_number_padded: "{playlist_index_reversed_padded6}"
|
|
||||||
|
|
|
||||||
|
|
@ -47,3 +47,38 @@ presets:
|
||||||
collection_season_number_padded: "{ %pad_zero(%int(collection_season_number), 2) }"
|
collection_season_number_padded: "{ %pad_zero(%int(collection_season_number), 2) }"
|
||||||
season_number: "{collection_season_number}"
|
season_number: "{collection_season_number}"
|
||||||
season_number_padded: "{collection_season_number_padded}"
|
season_number_padded: "{collection_season_number_padded}"
|
||||||
|
|
||||||
|
_episode_video_tags:
|
||||||
|
video_tags:
|
||||||
|
show: "{tv_show_name}"
|
||||||
|
genre: "{tv_show_genre}"
|
||||||
|
episode_id: "{episode_number}"
|
||||||
|
title: "{episode_title}"
|
||||||
|
synopsis: "{episode_plot}"
|
||||||
|
year: "{episode_year}"
|
||||||
|
date: "{episode_date_standardized}"
|
||||||
|
contentRating: "{episode_content_rating}"
|
||||||
|
|
||||||
|
_episode_nfo_tags:
|
||||||
|
nfo_tags:
|
||||||
|
nfo_name: "{episode_file_path}.nfo"
|
||||||
|
nfo_root: "episodedetails"
|
||||||
|
tags:
|
||||||
|
genre:
|
||||||
|
- "{tv_show_genre}"
|
||||||
|
season: "{season_number}"
|
||||||
|
episode: "{episode_number}"
|
||||||
|
title: "{episode_title}"
|
||||||
|
plot: "{episode_plot}"
|
||||||
|
year: "{episode_year}"
|
||||||
|
aired: "{episode_date_standardized}"
|
||||||
|
mpaa: "{episode_content_rating}"
|
||||||
|
|
||||||
|
output_directory_nfo_tags:
|
||||||
|
nfo_name: "tvshow.nfo"
|
||||||
|
nfo_root: "tvshow"
|
||||||
|
tags:
|
||||||
|
title: "{tv_show_name}"
|
||||||
|
genre:
|
||||||
|
- "{tv_show_genre}"
|
||||||
|
mpaa: "{tv_show_content_rating}"
|
||||||
|
|
@ -30,3 +30,45 @@ presets:
|
||||||
preset:
|
preset:
|
||||||
- "plex_tv_show_by_date"
|
- "plex_tv_show_by_date"
|
||||||
- "season_by_year__episode_by_month_day"
|
- "season_by_year__episode_by_month_day"
|
||||||
|
|
||||||
|
####################################################################################################
|
||||||
|
|
||||||
|
_season_by_year:
|
||||||
|
overrides:
|
||||||
|
season_number: "{upload_year}"
|
||||||
|
season_number_padded: "{season_number}"
|
||||||
|
|
||||||
|
_season_by_year_month:
|
||||||
|
overrides:
|
||||||
|
season_number: "{upload_year}{upload_month_padded}"
|
||||||
|
season_number_padded: "{season_number}"
|
||||||
|
|
||||||
|
####################################################################################################
|
||||||
|
|
||||||
|
season_by_year_month__episode_by_day:
|
||||||
|
preset:
|
||||||
|
- "_season_by_year_month"
|
||||||
|
overrides:
|
||||||
|
episode_number: "{upload_day}{upload_date_index_padded}"
|
||||||
|
episode_number_padded: "{upload_day_padded}{upload_date_index_padded}"
|
||||||
|
|
||||||
|
season_by_year__episode_by_month_day:
|
||||||
|
preset:
|
||||||
|
- "_season_by_year"
|
||||||
|
overrides:
|
||||||
|
episode_number: "{upload_month}{upload_day_padded}{upload_date_index_padded}"
|
||||||
|
episode_number_padded: "{upload_month_padded}{upload_day_padded}{upload_date_index_padded}"
|
||||||
|
|
||||||
|
season_by_year__episode_by_month_day_reversed:
|
||||||
|
preset:
|
||||||
|
- "_season_by_year"
|
||||||
|
overrides:
|
||||||
|
episode_number: "{upload_day_of_year_reversed}{upload_date_index_reversed_padded}"
|
||||||
|
episode_number_padded: "{upload_day_of_year_reversed_padded}{upload_date_index_reversed_padded}"
|
||||||
|
|
||||||
|
season_by_year__episode_by_download_index:
|
||||||
|
preset:
|
||||||
|
- "_season_by_year"
|
||||||
|
overrides:
|
||||||
|
episode_number: "{download_index}"
|
||||||
|
episode_number_padded: "{download_index_padded6}"
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
presets:
|
presets:
|
||||||
|
|
||||||
|
|
||||||
kodi_tv_show_collection:
|
kodi_tv_show_collection:
|
||||||
preset:
|
preset:
|
||||||
- "_kodi_tv_show"
|
- "_kodi_tv_show"
|
||||||
|
|
@ -709,3 +708,26 @@ presets:
|
||||||
- tag: "{collection_season_40_name}"
|
- tag: "{collection_season_40_name}"
|
||||||
attributes:
|
attributes:
|
||||||
number: "40"
|
number: "40"
|
||||||
|
|
||||||
|
|
||||||
|
###############
|
||||||
|
|
||||||
|
season_by_collection__episode_by_year_month_day:
|
||||||
|
overrides:
|
||||||
|
episode_number: "{upload_year_truncated}{upload_month_padded}{upload_day_padded}{upload_date_index_padded}"
|
||||||
|
episode_number_padded: "{episode_number}"
|
||||||
|
|
||||||
|
season_by_collection__episode_by_year_month_day_reversed:
|
||||||
|
overrides:
|
||||||
|
episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{upload_date_index_reversed_padded}"
|
||||||
|
episode_number_padded: "{episode_number}"
|
||||||
|
|
||||||
|
season_by_collection__episode_by_playlist_index:
|
||||||
|
overrides:
|
||||||
|
episode_number: "{playlist_index}"
|
||||||
|
episode_number_padded: "{playlist_index_padded6}"
|
||||||
|
|
||||||
|
season_by_collection__episode_by_playlist_index_reversed:
|
||||||
|
overrides:
|
||||||
|
episode_number: "{playlist_index_reversed}"
|
||||||
|
episode_number_padded: "{playlist_index_reversed_padded6}"
|
||||||
Loading…
Reference in a new issue