diff --git a/src/ytdl_sub/prebuilt_presets/helpers/premade_regex.yaml b/src/ytdl_sub/prebuilt_presets/helpers/premade_regex.yaml index a6b03e79..9a15fea4 100644 --- a/src/ytdl_sub/prebuilt_presets/helpers/premade_regex.yaml +++ b/src/ytdl_sub/prebuilt_presets/helpers/premade_regex.yaml @@ -13,6 +13,6 @@ presets: capture_group_defaults: - "{title}" description: - match: "^(?:Provided)(?:.*\\n){4}([^\\[\\{\\(\\|]*?)\\s*(?=\\{|\\(|\\||\\[|$|\\n).*" + match: '^(?:Provided)(?:.*\n){4}([^\[\{\(\|]*?)\s*(?=\{|\(|\||\[|$|\n).*' capture_group_names: "captured_track_album" capture_group_defaults: "Singles" diff --git a/src/ytdl_sub/prebuilt_presets/helpers/url.yaml b/src/ytdl_sub/prebuilt_presets/helpers/url.yaml index 02dd385c..3ed19608 100644 --- a/src/ytdl_sub/prebuilt_presets/helpers/url.yaml +++ b/src/ytdl_sub/prebuilt_presets/helpers/url.yaml @@ -10,7 +10,7 @@ presets: # # "Subscription Name": "url" # -# where url tries to grab channel avatar + banner +# where the first url tries to grab channel avatar + banner # _multi_url: download: @@ -39,9 +39,91 @@ presets: - url: "{url18}" - url: "{url19}" - url: "{url20}" + - url: "{url21}" + - url: "{url22}" + - url: "{url23}" + - url: "{url24}" + - url: "{url25}" + - url: "{url26}" + - url: "{url27}" + - url: "{url28}" + - url: "{url29}" + - url: "{url30}" + - url: "{url31}" + - url: "{url32}" + - url: "{url33}" + - url: "{url34}" + - url: "{url35}" + - url: "{url36}" + - url: "{url37}" + - url: "{url38}" + - url: "{url39}" + - url: "{url40}" + - url: "{url41}" + - url: "{url42}" + - url: "{url43}" + - url: "{url44}" + - url: "{url45}" + - url: "{url46}" + - url: "{url47}" + - url: "{url48}" + - url: "{url49}" + - url: "{url50}" + - url: "{url51}" + - url: "{url52}" + - url: "{url53}" + - url: "{url54}" + - url: "{url55}" + - url: "{url56}" + - url: "{url57}" + - url: "{url58}" + - url: "{url59}" + - url: "{url60}" + - url: "{url61}" + - url: "{url62}" + - url: "{url63}" + - url: "{url64}" + - url: "{url65}" + - url: "{url66}" + - url: "{url67}" + - url: "{url68}" + - url: "{url69}" + - url: "{url70}" + - url: "{url71}" + - url: "{url72}" + - url: "{url73}" + - url: "{url74}" + - url: "{url75}" + - url: "{url76}" + - url: "{url77}" + - url: "{url78}" + - url: "{url79}" + - url: "{url80}" + - url: "{url81}" + - url: "{url82}" + - url: "{url83}" + - url: "{url84}" + - url: "{url85}" + - url: "{url86}" + - url: "{url87}" + - url: "{url88}" + - url: "{url89}" + - url: "{url90}" + - url: "{url91}" + - url: "{url92}" + - url: "{url93}" + - url: "{url94}" + - url: "{url95}" + - url: "{url96}" + - url: "{url97}" + - url: "{url98}" + - url: "{url99}" + - url: "{url100}" + overrides: avatar_uncropped_thumbnail_file_name: "" banner_uncropped_thumbnail_file_name: "" + subscription_value: "" subscription_value_2: "" subscription_value_3: "" @@ -62,6 +144,87 @@ presets: subscription_value_18: "" subscription_value_19: "" subscription_value_20: "" + subscription_value_21: "" + subscription_value_22: "" + subscription_value_23: "" + subscription_value_24: "" + subscription_value_25: "" + subscription_value_26: "" + subscription_value_27: "" + subscription_value_28: "" + subscription_value_29: "" + subscription_value_30: "" + subscription_value_31: "" + subscription_value_32: "" + subscription_value_33: "" + subscription_value_34: "" + subscription_value_35: "" + subscription_value_36: "" + subscription_value_37: "" + subscription_value_38: "" + subscription_value_39: "" + subscription_value_40: "" + subscription_value_41: "" + subscription_value_42: "" + subscription_value_43: "" + subscription_value_44: "" + subscription_value_45: "" + subscription_value_46: "" + subscription_value_47: "" + subscription_value_48: "" + subscription_value_49: "" + subscription_value_50: "" + subscription_value_51: "" + subscription_value_52: "" + subscription_value_53: "" + subscription_value_54: "" + subscription_value_55: "" + subscription_value_56: "" + subscription_value_57: "" + subscription_value_58: "" + subscription_value_59: "" + subscription_value_60: "" + subscription_value_61: "" + subscription_value_62: "" + subscription_value_63: "" + subscription_value_64: "" + subscription_value_65: "" + subscription_value_66: "" + subscription_value_67: "" + subscription_value_68: "" + subscription_value_69: "" + subscription_value_70: "" + subscription_value_71: "" + subscription_value_72: "" + subscription_value_73: "" + subscription_value_74: "" + subscription_value_75: "" + subscription_value_76: "" + subscription_value_77: "" + subscription_value_78: "" + subscription_value_79: "" + subscription_value_80: "" + subscription_value_81: "" + subscription_value_82: "" + subscription_value_83: "" + subscription_value_84: "" + subscription_value_85: "" + subscription_value_86: "" + subscription_value_87: "" + subscription_value_88: "" + subscription_value_89: "" + subscription_value_90: "" + subscription_value_91: "" + subscription_value_92: "" + subscription_value_93: "" + subscription_value_94: "" + subscription_value_95: "" + subscription_value_96: "" + subscription_value_97: "" + subscription_value_98: "" + subscription_value_99: "" + subscription_value_100: "" + url: "{subscription_value}" url2: "{subscription_value_2}" url3: "{subscription_value_3}" @@ -81,4 +244,85 @@ presets: url17: "{subscription_value_17}" url18: "{subscription_value_18}" url19: "{subscription_value_19}" - url20: "{subscription_value_20}" \ No newline at end of file + url20: "{subscription_value_20}" + url21: "{subscription_value_21}" + url22: "{subscription_value_22}" + url23: "{subscription_value_23}" + url24: "{subscription_value_24}" + url25: "{subscription_value_25}" + url26: "{subscription_value_26}" + url27: "{subscription_value_27}" + url28: "{subscription_value_28}" + url29: "{subscription_value_29}" + url30: "{subscription_value_30}" + url31: "{subscription_value_31}" + url32: "{subscription_value_32}" + url33: "{subscription_value_33}" + url34: "{subscription_value_34}" + url35: "{subscription_value_35}" + url36: "{subscription_value_36}" + url37: "{subscription_value_37}" + url38: "{subscription_value_38}" + url39: "{subscription_value_39}" + url40: "{subscription_value_40}" + url41: "{subscription_value_41}" + url42: "{subscription_value_42}" + url43: "{subscription_value_43}" + url44: "{subscription_value_44}" + url45: "{subscription_value_45}" + url46: "{subscription_value_46}" + url47: "{subscription_value_47}" + url48: "{subscription_value_48}" + url49: "{subscription_value_49}" + url50: "{subscription_value_50}" + url51: "{subscription_value_51}" + url52: "{subscription_value_52}" + url53: "{subscription_value_53}" + url54: "{subscription_value_54}" + url55: "{subscription_value_55}" + url56: "{subscription_value_56}" + url57: "{subscription_value_57}" + url58: "{subscription_value_58}" + url59: "{subscription_value_59}" + url60: "{subscription_value_60}" + url61: "{subscription_value_61}" + url62: "{subscription_value_62}" + url63: "{subscription_value_63}" + url64: "{subscription_value_64}" + url65: "{subscription_value_65}" + url66: "{subscription_value_66}" + url67: "{subscription_value_67}" + url68: "{subscription_value_68}" + url69: "{subscription_value_69}" + url70: "{subscription_value_70}" + url71: "{subscription_value_71}" + url72: "{subscription_value_72}" + url73: "{subscription_value_73}" + url74: "{subscription_value_74}" + url75: "{subscription_value_75}" + url76: "{subscription_value_76}" + url77: "{subscription_value_77}" + url78: "{subscription_value_78}" + url79: "{subscription_value_79}" + url80: "{subscription_value_80}" + url81: "{subscription_value_81}" + url82: "{subscription_value_82}" + url83: "{subscription_value_83}" + url84: "{subscription_value_84}" + url85: "{subscription_value_85}" + url86: "{subscription_value_86}" + url87: "{subscription_value_87}" + url88: "{subscription_value_88}" + url89: "{subscription_value_89}" + url90: "{subscription_value_90}" + url91: "{subscription_value_91}" + url92: "{subscription_value_92}" + url93: "{subscription_value_93}" + url94: "{subscription_value_94}" + url95: "{subscription_value_95}" + url96: "{subscription_value_96}" + url97: "{subscription_value_97}" + url98: "{subscription_value_98}" + url99: "{subscription_value_99}" + url100: "{subscription_value_100}" + diff --git a/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml b/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml new file mode 100644 index 00000000..1494fe65 --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/music_videos/music_video_base.yaml @@ -0,0 +1,57 @@ +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}" + + _music_video_nfo: + nfo_tags: + nfo_name: "{music_video_file_name}.nfo" + nfo_root: "musicvideo" + tags: + artist: "{music_video_artist}" + title: "{music_video_title}" + album: "{music_video_album}" + genre: + - "{music_video_genre}" + # Kodi v20 to not use year, so removing + premiered: "{music_video_date}" + + _music_video_tags: + video_tags: + artist: "{music_video_artist}" + title: "{music_video_title}" + album: "{music_video_album}" + genre: "{music_video_genre}" + year: "{music_video_year}" + premiered: "{music_video_date}" \ No newline at end of file diff --git a/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml b/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml index 47c73bb6..92598c0b 100644 --- a/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml +++ b/src/ytdl_sub/prebuilt_presets/music_videos/music_videos.yaml @@ -1,60 +1,4 @@ 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}" - - _music_video_nfo: - nfo_tags: - nfo_name: "{music_video_file_name}.nfo" - nfo_root: "musicvideo" - tags: - artist: "{music_video_artist}" - title: "{music_video_title}" - album: "{music_video_album}" - genre: - - "{music_video_genre}" - # Kodi v20 to not use year, so removing - premiered: "{music_video_date}" - - _music_video_tags: - video_tags: - artist: "{music_video_artist}" - title: "{music_video_title}" - album: "{music_video_album}" - genre: "{music_video_genre}" - year: "{music_video_year}" - premiered: "{music_video_date}" "Jellyfin Music Videos": preset: diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml index bb1c9047..e611a7a2 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +++ b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml @@ -79,66 +79,5 @@ presets: - "{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}" diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml index 275216fe..30027444 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml +++ b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_by_date.yaml @@ -29,4 +29,46 @@ presets: "Plex TV Show by Date": preset: - "plex_tv_show_by_date" - - "season_by_year__episode_by_month_day" \ No newline at end of file + - "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}" \ No newline at end of file diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml index 1b374d33..3c8da03a 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml +++ b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_collection.yaml @@ -1,5 +1,16 @@ presets: + "Kodi TV Show Collection": + preset: + - kodi_tv_show_collection + + "Jellyfin TV Show Collection": + preset: + - jellyfin_tv_show_collection + + "Plex TV Show Collection": + preset: + - plex_tv_show_collection kodi_tv_show_collection: preset: @@ -703,4 +714,27 @@ presets: namedseason: - tag: "{collection_season_40_name}" attributes: - number: "40" \ No newline at end of file + 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}" \ No newline at end of file