From e1d32da0f7ac0b79b32a29c58c1fd3bbe222ebab Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Thu, 8 May 2025 21:32:17 -0700 Subject: [PATCH] test all versions --- .../prebuilt_presets/tv_show/__init__.py | 21 -- tests/integration/conftest.py | 15 + .../test_tv_show_collection.py | 82 ++++-- .../s_1/is_yt_1_migrated.json | 23 ++ .../s_2/is_yt_1_migrated.json | 40 +++ .../upload-year-month-day/s_1/is_yt_1.json | 23 ++ .../upload-year-month-day/s_2/is_yt_1.json | 40 +++ .../Kodi/does-not-exist/s_1/is_yt_1.json | 1 + .../playlist-index-reversed/s_1/is_yt_1.json | 23 ++ .../s_1/is_yt_1_migrated.json | 23 ++ .../playlist-index-reversed/s_2/is_yt_1.json | 40 +++ .../s_2/is_yt_1_migrated.json | 40 +++ .../Kodi/playlist-index/s_1/is_yt_1.json | 23 ++ .../Kodi/playlist-index/s_2/is_yt_1.json | 40 +++ .../s_1/is_yt_1.json | 23 ++ .../s_2/is_yt_1.json | 40 +++ .../release-year-month-day/s_1/is_yt_1.json | 23 ++ .../release-year-month-day/s_2/is_yt_1.json | 40 +++ .../s_1/is_yt_1.json | 23 ++ .../s_2/is_yt_1.json | 40 +++ .../upload-year-month-day/s_1/is_yt_1.json | 23 ++ .../upload-year-month-day/s_2/is_yt_1.json | 40 +++ .../s_1/is_yt_1_migrated.json | 18 ++ .../s_2/is_yt_1_migrated.json | 31 ++ .../upload-year-month-day/s_1/is_yt_1.json | 18 ++ .../upload-year-month-day/s_2/is_yt_1.json | 31 ++ .../upload-year-month-day}/s_1/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../upload-year-month-day}/s_2/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../Kodi/does-not-exist/s_1/is_yt_1.txt | 1 + ...reformatted_to_playlist-index-reversed.txt | 4 + .../playlist-index-reversed}/s_1/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../playlist-index-reversed}/s_2/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../Kodi/playlist-index}/s_1/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../Kodi/playlist-index}/s_2/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../s_1/is_yt_1.txt | 134 +++++++++ ...reformatted_to_playlist-index-reversed.txt | 143 +++++++++ .../s_2/is_yt_1.txt | 257 ++++++++++++++++ ...reformatted_to_playlist-index-reversed.txt | 277 ++++++++++++++++++ .../release-year-month-day/s_1/is_yt_1.txt | 134 +++++++++ ...reformatted_to_playlist-index-reversed.txt | 143 +++++++++ .../release-year-month-day/s_2/is_yt_1.txt | 257 ++++++++++++++++ ...reformatted_to_playlist-index-reversed.txt | 277 ++++++++++++++++++ .../s_1/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../s_2/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../upload-year-month-day}/s_1/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../upload-year-month-day}/s_2/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../upload-year-month-day}/s_1/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 .../upload-year-month-day}/s_2/is_yt_1.txt | 0 ...eformatted_to_playlist-index-reversed.txt} | 0 60 files changed, 2362 insertions(+), 49 deletions(-) create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_1/is_yt_1_migrated.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_2/is_yt_1_migrated.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_migrated.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_migrated.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_1/is_yt_1_migrated.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_2/is_yt_1_migrated.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1.json create mode 100644 tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1.json rename tests/resources/transaction_log_summaries/{unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day => integration/collection/Jellyfin/upload-year-month-day}/s_1/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day => integration/collection/Jellyfin/upload-year-month-day}/s_2/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed => integration/collection/Kodi/playlist-index-reversed}/s_1/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed => integration/collection/Kodi/playlist-index-reversed}/s_2/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index => integration/collection/Kodi/playlist-index}/s_1/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/playlist-index/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index => integration/collection/Kodi/playlist-index}/s_2/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/playlist-index/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.txt create mode 100644 tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed => integration/collection/Kodi/upload-year-month-day-reversed}/s_1/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed => integration/collection/Kodi/upload-year-month-day-reversed}/s_2/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day => integration/collection/Kodi/upload-year-month-day}/s_1/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day => integration/collection/Kodi/upload-year-month-day}/s_2/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day => integration/collection/Plex/upload-year-month-day}/s_1/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Plex/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) rename tests/resources/transaction_log_summaries/{unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day => integration/collection/Plex/upload-year-month-day}/s_2/is_yt_1.txt (100%) rename tests/resources/transaction_log_summaries/{unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt => integration/collection/Plex/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt} (100%) diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py index b2e0df4f..c319f456 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py @@ -48,24 +48,3 @@ class TvShowCollectionOldPresets(PrebuiltPresets): "jellyfin_tv_show_collection", "plex_tv_show_collection", } - - -class TvShowCollectionEpisodeFormattingPresets(PrebuiltPresets): - preset_names = { - "season_by_collection__episode_by_year_month_day", - "season_by_collection__episode_by_year_month_day_reversed", - "season_by_collection__episode_by_playlist_index", - "season_by_collection__episode_by_playlist_index_reversed", - } - - -class TvShowCollectionSeasonPresets(PrebuiltPresets): - """Now Deprecated""" - - preset_names = { - "collection_season_1", - "collection_season_2", - "collection_season_3", - "collection_season_4", - "collection_season_5", - } diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index c50773ff..621ad68f 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -5,6 +5,7 @@ from pathlib import Path from typing import Callable from typing import Dict from typing import List +from typing import Optional from unittest.mock import patch import pytest @@ -53,6 +54,7 @@ def mock_entry_dict_factory(mock_downloaded_file_path) -> Callable: is_youtube_channel: bool = False, mock_download_to_working_dir: bool = True, is_extracted_audio: bool = False, + release_date: Optional[str] = None, ) -> Dict: entry_dict = { v.uid.metadata_key: uid, @@ -71,6 +73,10 @@ def mock_entry_dict_factory(mock_downloaded_file_path) -> Callable: v.description.metadata_key: "The Description", } + # TODO: Make this required eventually + if release_date is not None: + entry_dict[v.release_date.metadata_key] = release_date + if is_youtube_channel: entry_dict[v.playlist_metadata.metadata_key]["thumbnails"] = [ { @@ -153,6 +159,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="21-1", upload_date="20210808", + release_date="20010808", playlist_title="Download First", playlist_index=1, playlist_count=4, @@ -163,6 +170,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-1", upload_date="20200808", + release_date="20000808", playlist_title="Download First", playlist_index=2, playlist_count=4, @@ -173,6 +181,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-2", upload_date="20200808", + release_date="20000808", playlist_title="Download First", playlist_index=3, playlist_count=4, @@ -183,6 +192,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-3", upload_date="20200807", + release_date="20000807", playlist_title="Download First", playlist_index=4, playlist_count=4, @@ -196,6 +206,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-3", upload_date="20200807", + release_date="20000807", playlist_title="Download Second", playlist_index=1, playlist_count=5, @@ -206,6 +217,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-4", upload_date="20200806", + release_date="20000806", playlist_title="Download Second", playlist_index=2, playlist_count=5, @@ -216,6 +228,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-5", upload_date="20200706", + release_date="20000706", playlist_title="Download Second", playlist_index=3, playlist_count=5, @@ -226,6 +239,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-6", upload_date="20200706", + release_date="20000706", playlist_title="Download Second", playlist_index=4, playlist_count=5, @@ -236,6 +250,7 @@ def mock_download_collection_entries( mock_entry_dict_factory( uid="20-7", upload_date="20200606", + release_date="20000606", playlist_title="Download Second", playlist_index=5, playlist_count=5, diff --git a/tests/integration/prebuilt_presets/test_tv_show_collection.py b/tests/integration/prebuilt_presets/test_tv_show_collection.py index b4954e6e..2061efd1 100644 --- a/tests/integration/prebuilt_presets/test_tv_show_collection.py +++ b/tests/integration/prebuilt_presets/test_tv_show_collection.py @@ -1,3 +1,4 @@ +import re from typing import Dict from typing import List @@ -6,17 +7,11 @@ from expected_download import assert_expected_downloads from expected_transaction_log import assert_transaction_log_matches from ytdl_sub.config.config_file import ConfigFile -from ytdl_sub.prebuilt_presets.tv_show import TvShowCollectionEpisodeFormattingPresets from ytdl_sub.prebuilt_presets.tv_show import TvShowCollectionPresets +from ytdl_sub.script.utils.exceptions import UserThrownRuntimeError from ytdl_sub.subscriptions.subscription import Subscription -DEPRECATED_TV_SHOW_PRESET_EQUIVALENTS = { - "Kodi TV Show Collection": "kodi_tv_show_collection", - "Jellyfin TV Show Collection": "jellyfin_tv_show_collection", - "Plex TV Show Collection": "plex_tv_show_collection", -} - -DEFAULT_EPISODE_ORDERING_PRESET = "season_by_collection__episode_by_year_month_day" +DEFAULT_EPISODE_ORDERING = "upload-year-month-day" class TestPrebuiltTvShowCollectionPresets: @@ -27,22 +22,19 @@ class TestPrebuiltTvShowCollectionPresets: subscription_name: str, output_directory: str, media_player_preset: str, - tv_show_structure_preset: str, + episode_ordering: str, season_indices: List[int], is_youtube_channel: bool = True, ): - expected_summary_name = "unit/{}/{}/s_{}/is_yt_{}".format( - DEPRECATED_TV_SHOW_PRESET_EQUIVALENTS[media_player_preset], - tv_show_structure_preset, + expected_summary_name = "integration/collection/{}/{}/s_{}/is_yt_{}".format( + media_player_preset.split(" ")[0], + episode_ordering, len(season_indices), int(is_youtube_channel), ) - parent_presets: List[str] = [media_player_preset, tv_show_structure_preset] overrides: Dict[str, str] = {} for season_index in season_indices: - parent_presets.append(f"collection_season_{season_index}") - overrides = dict( overrides, **{ @@ -55,12 +47,13 @@ class TestPrebuiltTvShowCollectionPresets: config=config, preset_name=subscription_name, preset_dict={ - "preset": parent_presets, + "preset": media_player_preset, "overrides": dict( overrides, **{ "tv_show_name": "Best Prebuilt TV Show Collection", "tv_show_directory": output_directory, + "tv_show_collection_episode_ordering": episode_ordering, }, ), }, @@ -79,12 +72,10 @@ class TestPrebuiltTvShowCollectionPresets: ) ###################################### Perform reformat - reformatted_tv_show_structure_preset = ( - "season_by_collection__episode_by_playlist_index_reversed" - ) - reformatted_expected_summary_name = "unit/{}/{}/s_{}/is_yt_{}".format( - DEPRECATED_TV_SHOW_PRESET_EQUIVALENTS[media_player_preset], - reformatted_tv_show_structure_preset, + reformatted_tv_show_collection_episode_ordering = "playlist-index-reversed" + reformatted_expected_summary_name = "integration/collection/{}/{}/s_{}/is_yt_{}".format( + media_player_preset.split(" ")[0], + reformatted_tv_show_collection_episode_ordering, len(season_indices), int(is_youtube_channel), ) @@ -93,7 +84,7 @@ class TestPrebuiltTvShowCollectionPresets: config=config, preset_name=subscription_name, preset_dict={ - "preset": parent_presets + [reformatted_tv_show_structure_preset], + "preset": media_player_preset, "output_options": { "migrated_download_archive_name": ".ytdl-sub-{tv_show_name_sanitized}-download-archive.json" }, @@ -102,6 +93,7 @@ class TestPrebuiltTvShowCollectionPresets: **{ "tv_show_name": "Best Prebuilt TV Show Collection", "tv_show_directory": output_directory, + "tv_show_collection_episode_ordering": reformatted_tv_show_collection_episode_ordering, }, ), }, @@ -112,7 +104,7 @@ class TestPrebuiltTvShowCollectionPresets: output_directory=output_directory, transaction_log=reformatted_transaction_log, transaction_log_summary_file_name=( - f"{expected_summary_name}_reformatted_to_{reformatted_tv_show_structure_preset}.txt" + f"{expected_summary_name}_reformatted_to_{reformatted_tv_show_collection_episode_ordering}.txt" ), ) assert_expected_downloads( @@ -141,12 +133,20 @@ class TestPrebuiltTvShowCollectionPresets: subscription_name=subscription_name, output_directory=output_directory, media_player_preset=media_player_preset, - tv_show_structure_preset=DEFAULT_EPISODE_ORDERING_PRESET, + episode_ordering=DEFAULT_EPISODE_ORDERING, season_indices=season_indices, ) @pytest.mark.parametrize( - "episode_ordering_preset", TvShowCollectionEpisodeFormattingPresets.preset_names + "episode_ordering", + [ + "upload-year-month-day", + "upload-year-month-day-reversed", + "release-year-month-day", + "release-year-month-day-reversed", + "playlist-index", + "playlist-index-reversed", + ], ) @pytest.mark.parametrize("season_indices", [[1], [1, 2]]) def test_episode_ordering_presets( @@ -155,7 +155,7 @@ class TestPrebuiltTvShowCollectionPresets: subscription_name, output_directory, mock_download_collection_entries, - episode_ordering_preset: str, + episode_ordering: str, season_indices: List[int], ): @@ -167,6 +167,32 @@ class TestPrebuiltTvShowCollectionPresets: subscription_name=subscription_name, output_directory=output_directory, media_player_preset="Kodi TV Show Collection", - tv_show_structure_preset=episode_ordering_preset, + episode_ordering=episode_ordering, season_indices=season_indices, ) + + def test_invalid_episode_ordering( + self, config, subscription_name, output_directory, mock_download_collection_entries + ): + expected_message = ( + "tv_show_collection_episode_ordering must be one of the following: " + '"upload-year-month-day", ' + '"upload-year-month-day-reversed", ' + '"release-year-month-day", ' + '"release-year-month-day-reversed", ' + '"playlist-index", ' + '"playlist-index-reversed"' + ) + + with ( + mock_download_collection_entries(is_youtube_channel=True, num_urls=1), + pytest.raises(UserThrownRuntimeError, match=re.escape(expected_message)), + ): + self.run( + config=config, + subscription_name=subscription_name, + output_directory=output_directory, + media_player_preset="Kodi TV Show Collection", + episode_ordering="does-not-exist", + season_indices=[1], + ) diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_1/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_1/is_yt_1_migrated.json new file mode 100644 index 00000000..622ac651 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_1/is_yt_1_migrated.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_2/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_2/is_yt_1_migrated.json new file mode 100644 index 00000000..ef34edca --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/playlist-index-reversed/s_2/is_yt_1_migrated.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6390603e1f9642ea573f25179b42f6af", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "179e310bd4de1638d84b6da787ff9fa8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "3c412f47cb87e820138fb8909c672216", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "8409a144e67c50573bae29bf76431d76", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1.json new file mode 100644 index 00000000..c67cdbac --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ede1deeba072bae50f7f7039deca0543", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "a874866ad7096eb3bf31c72ea3315354", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.nfo": "043c6de15ab09f32e64414d1f4a8a89c", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "fe6fcf8bfc13c0913ad1509703b447f1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.nfo": "4fb018858502fe2c7a0d3dcb89145a8d", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1d0f1081b402ebea9aeedf75f891c811", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.nfo": "6ac2ee3bd87b453d56bd90b42bbf52a0", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "e5a844cc2c8fe19037afdf0692731414", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.nfo": "d54ba1888f0083f8de6f401e399ad379", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1.json new file mode 100644 index 00000000..9754c9cb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "9b9e26ff3d036f450501bf5adb979aeb", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "fab0f2d0a74558a86b3935c6b962ebe3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.nfo": "9ceac835c0166bf4f7354106379e6d17", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "9c2569c62ff81f067fe3d91324942c11", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.nfo": "35f15e5437cae813095fe2ca3bd2ca18", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "921e686edbf2a2e11f8d3eba9ef32592", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.nfo": "9aa69e4c86bb282ac57b2024ec2fbd34", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "a9fae3eca046637910a6e79aae4a8354", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.nfo": "709533b6b8f501196db0d98dfe2b2b16", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "a874866ad7096eb3bf31c72ea3315354", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.nfo": "05f34cd0e6be4b09ea96134faec892f6", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "fe6fcf8bfc13c0913ad1509703b447f1", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.nfo": "54b4f84daf25626703f7b3a36b0dea49", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1d0f1081b402ebea9aeedf75f891c811", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.nfo": "3d2644161e57b94cfac5e95732864cc3", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "e5a844cc2c8fe19037afdf0692731414", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.nfo": "fd91adb2089d0fcdbb2e568a10ac880e", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..edf55e33 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_migrated.json new file mode 100644 index 00000000..622ac651 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_migrated.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..56508d3c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6390603e1f9642ea573f25179b42f6af", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "179e310bd4de1638d84b6da787ff9fa8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "3c412f47cb87e820138fb8909c672216", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "8409a144e67c50573bae29bf76431d76", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_migrated.json new file mode 100644 index 00000000..ef34edca --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_migrated.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6390603e1f9642ea573f25179b42f6af", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "179e310bd4de1638d84b6da787ff9fa8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "3c412f47cb87e820138fb8909c672216", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "8409a144e67c50573bae29bf76431d76", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1.json new file mode 100644 index 00000000..901a9588 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4e5ef7394c029e7fe230f82dfe134e4c", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "79cac07b1964b53ff128ef041e3ed10b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.nfo": "2a3d9b51221a541fefc29eebffe47cd4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "ebd20e58d50951bfcd2316bcf660ba11", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.nfo": "ec57b2c78058e18cdc015813e8a14b9d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "331068e0bf01c2baaa131c7760a46c02", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.nfo": "cd919caf88b0eed99fd2a595c1afa6b1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "c646ebe3838f553abb5e9cb1dd96b85f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.nfo": "7c4b28456fe5d398b7dad966eb194421", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1.json new file mode 100644 index 00000000..85551fe8 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "c7c2427315924db344d4659a60c59bc9", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "a37dba001208063f0c04b2a681973c1c", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.nfo": "7d8f03bdcd8ee66fd1578a86f20365cc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "3c412f47cb87e820138fb8909c672216", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "0bee8e6eb39dbfa8aab81fb78c74ffa0", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.nfo": "39996f43e9761247dce614247f99c808", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "db88af54bfd315035ce187c2da47f95a", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.nfo": "cae377877c966dad492eaa3f224b86ba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "79cac07b1964b53ff128ef041e3ed10b", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.nfo": "974bb83bd43b9579ab1716f66589ccc1", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "ebd20e58d50951bfcd2316bcf660ba11", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.nfo": "b12dcb09ffad7f23f21d350e1f60f128", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "331068e0bf01c2baaa131c7760a46c02", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.nfo": "e6fd0fc3e95b77c595d1a77c2060fd98", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "c646ebe3838f553abb5e9cb1dd96b85f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.nfo": "23386ea27c1e64afcecdb235acb81b79", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..0921148d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "05ed34568687c712ac7aaaf653267651", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052498 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052498 - Mock Entry 20-1.mp4": "170f6eaaa831b92e80ba798b5ae50b60", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052498 - Mock Entry 20-1.nfo": "93e75d3231077883d37c5baac435e182", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052499 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052499 - Mock Entry 20-2.mp4": "0e1805471b84d94f605f645d9ea94c9e", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052499 - Mock Entry 20-2.nfo": "6d022da37f3545d9ab8608f11b8059cd", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052599 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052599 - Mock Entry 20-3.mp4": "2b59eab2673eb7f2a0ec91033737634a", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052599 - Mock Entry 20-3.nfo": "f47403746915586d1bd87436210311c5", + "Best Prebuilt TV Show Collection/Season 01/s01.e99052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e99052499 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e99052499 - Mock Entry 21-1.mp4": "450737dd9b8307f498eddb2ac7f4e567", + "Best Prebuilt TV Show Collection/Season 01/s01.e99052499 - Mock Entry 21-1.nfo": "5c095683a8c1ae4ff950d4302dc5f06e", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..003cb784 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "36c4e50c0d8e359fb75a13b99834a42d", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052699 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052699 - Mock Entry 20-4.mp4": "1ea0b0274a45288449dddcb1c91a0ac7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100052699 - Mock Entry 20-4.nfo": "f670533b516a47b833cd0ae04bec5877", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062698 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062698 - Mock Entry 20-5.mp4": "9b03d1c2e2be9cd75920821accae7774", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062698 - Mock Entry 20-5.nfo": "a223cdfe24fb5d285704351f38db7b46", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062699 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062699 - Mock Entry 20-6.mp4": "2240a972bc91ef589b3b0a25f1e41725", + "Best Prebuilt TV Show Collection/Season 01/s01.e100062699 - Mock Entry 20-6.nfo": "bb1cc5d794aa28d43e405179622f2095", + "Best Prebuilt TV Show Collection/Season 01/s01.e100072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e100072599 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e100072599 - Mock Entry 20-7.mp4": "5944f9af51010e2783576fdbd2ad5436", + "Best Prebuilt TV Show Collection/Season 01/s01.e100072599 - Mock Entry 20-7.nfo": "dbd5b09d734a10795a11344a5b536b8f", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052498 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052498 - Mock Entry 20-1.mp4": "170f6eaaa831b92e80ba798b5ae50b60", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052498 - Mock Entry 20-1.nfo": "bb5c4debab0a9f5bbd0a4e303c9bed2d", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052499 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052499 - Mock Entry 20-2.mp4": "0e1805471b84d94f605f645d9ea94c9e", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052499 - Mock Entry 20-2.nfo": "de6eab4d23acac23213ee25adb8095ac", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052599 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052599 - Mock Entry 20-3.mp4": "2b59eab2673eb7f2a0ec91033737634a", + "Best Prebuilt TV Show Collection/Season 02/s02.e100052599 - Mock Entry 20-3.nfo": "23e88cb7a059946b12c0702a1f987bc7", + "Best Prebuilt TV Show Collection/Season 02/s02.e99052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e99052499 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e99052499 - Mock Entry 21-1.mp4": "450737dd9b8307f498eddb2ac7f4e567", + "Best Prebuilt TV Show Collection/Season 02/s02.e99052499 - Mock Entry 21-1.nfo": "ee3a0c5681e7bf7923f72c323e7a9795", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.json new file mode 100644 index 00000000..db41c440 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "d864f3150e18bda48e86f180ec769651", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080701 - Mock Entry 20-3.mp4": "680b08a1e5032d89188def2784e62146", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080701 - Mock Entry 20-3.nfo": "2ecfb16f4216df21e9485b90b14e355f", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080801 - Mock Entry 20-2.mp4": "3c0dcdd38605f032c98aac9068732329", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080801 - Mock Entry 20-2.nfo": "090cfb9795b2ddd210afb93873cb60ce", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080802 - Mock Entry 20-1.mp4": "29d7648807690a4af93541ae340dd7bc", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080802 - Mock Entry 20-1.nfo": "e4aa8129a961c47e3151062b95f39b73", + "Best Prebuilt TV Show Collection/Season 01/s01.e01080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e01080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e01080801 - Mock Entry 21-1.mp4": "9abd6ecaf194553e9486e1bf02f552cf", + "Best Prebuilt TV Show Collection/Season 01/s01.e01080801 - Mock Entry 21-1.nfo": "34704ea06cbdfaa1c9939e061fd1633a", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.json new file mode 100644 index 00000000..a6e660d5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "f293f9cd2c5a2c54f7fd15839e074141", + "Best Prebuilt TV Show Collection/Season 01/s01.e00060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00060601 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00060601 - Mock Entry 20-7.mp4": "a75f9d2b28d82b78ae30da3962f57f61", + "Best Prebuilt TV Show Collection/Season 01/s01.e00060601 - Mock Entry 20-7.nfo": "29b6f491d1d7cb5e62f6a3dd290ba74a", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070601 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070601 - Mock Entry 20-6.mp4": "18226f783f8c3fac3089d61307bee3ba", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070601 - Mock Entry 20-6.nfo": "8ce2b32b9371cc45908acb73a5c5d5e6", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070602 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070602 - Mock Entry 20-5.mp4": "180e86031e6af3ea1a54714460a6bf1f", + "Best Prebuilt TV Show Collection/Season 01/s01.e00070602 - Mock Entry 20-5.nfo": "4567dfd30fc7287eea63f28e465d9c54", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080601 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080601 - Mock Entry 20-4.mp4": "09fba17ad8bf9deb8157ff83880185c3", + "Best Prebuilt TV Show Collection/Season 01/s01.e00080601 - Mock Entry 20-4.nfo": "0fc29c2520ae80c4390a5b68d02e6794", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080701 - Mock Entry 20-3.mp4": "680b08a1e5032d89188def2784e62146", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080701 - Mock Entry 20-3.nfo": "7276a8c14720f76cf4e5e624eb1dea2d", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080801 - Mock Entry 20-2.mp4": "3c0dcdd38605f032c98aac9068732329", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080801 - Mock Entry 20-2.nfo": "028a4161b6bccda2cf8d2a0a3ff13f4f", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080802 - Mock Entry 20-1.mp4": "29d7648807690a4af93541ae340dd7bc", + "Best Prebuilt TV Show Collection/Season 02/s02.e00080802 - Mock Entry 20-1.nfo": "7303574842c9409a6521486ddeb7cde9", + "Best Prebuilt TV Show Collection/Season 02/s02.e01080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e01080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e01080801 - Mock Entry 21-1.mp4": "9abd6ecaf194553e9486e1bf02f552cf", + "Best Prebuilt TV Show Collection/Season 02/s02.e01080801 - Mock Entry 21-1.nfo": "5b9d248c2fd2460030aa590d8660d957", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..077b159a --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "e26598ffd47b150e6bf09e5490546e94", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "cda96931a134eeb6e05e0b5aec03ddfe", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.nfo": "a7e21040a3fcb264f287e4eba1853f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "a7f2ca37b817da0512af297b5652e5e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.nfo": "78c08ad76d004a74cdba012f0b746c22", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "35ebd30923d8f321e023281ec6ef4e6f", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.nfo": "d9031d8608d12742c40a3279138c8371", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "204ce9c28ab7b69c659f0f76b6c75bfa", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.nfo": "74bd8dc59c5b76ae112d90638977c464", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..ba4303f1 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "2990d95213df5a6c87825a28daa970f4", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "611d34cf77a2123181a7c4096623f6b9", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.nfo": "0242d92e5e0d26745948b42c25eecfba", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "f09ce6574a040cea52b7177f74b9ccea", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.nfo": "52b17bcad30adb6eaef4c3b21c1af76b", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "435692c75994d929807b5f09726728ad", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.nfo": "31fb72d089fd680fea1340f3d3c41d64", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "613c386e00bf1c87e4f1d1acbbd98281", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.nfo": "df65227ee260219883ff618c9fbdf1d4", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "cda96931a134eeb6e05e0b5aec03ddfe", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.nfo": "0e4ea058d6a1e8760c80d3a02d25aafc", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "a7f2ca37b817da0512af297b5652e5e8", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.nfo": "1095322364e512dff963a44b2beffe30", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "35ebd30923d8f321e023281ec6ef4e6f", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.nfo": "5130c71d99f1c0726fee8cb8c9d82ba7", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "204ce9c28ab7b69c659f0f76b6c75bfa", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.nfo": "bde2a5401c49b58de0eacea4145d91ae", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1.json new file mode 100644 index 00000000..c67cdbac --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ede1deeba072bae50f7f7039deca0543", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "a874866ad7096eb3bf31c72ea3315354", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.nfo": "043c6de15ab09f32e64414d1f4a8a89c", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "fe6fcf8bfc13c0913ad1509703b447f1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.nfo": "4fb018858502fe2c7a0d3dcb89145a8d", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1d0f1081b402ebea9aeedf75f891c811", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.nfo": "6ac2ee3bd87b453d56bd90b42bbf52a0", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "e5a844cc2c8fe19037afdf0692731414", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.nfo": "d54ba1888f0083f8de6f401e399ad379", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1.json new file mode 100644 index 00000000..9754c9cb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "9b9e26ff3d036f450501bf5adb979aeb", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "fab0f2d0a74558a86b3935c6b962ebe3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.nfo": "9ceac835c0166bf4f7354106379e6d17", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "9c2569c62ff81f067fe3d91324942c11", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.nfo": "35f15e5437cae813095fe2ca3bd2ca18", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "921e686edbf2a2e11f8d3eba9ef32592", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.nfo": "9aa69e4c86bb282ac57b2024ec2fbd34", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "a9fae3eca046637910a6e79aae4a8354", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.nfo": "709533b6b8f501196db0d98dfe2b2b16", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "a874866ad7096eb3bf31c72ea3315354", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.nfo": "05f34cd0e6be4b09ea96134faec892f6", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "fe6fcf8bfc13c0913ad1509703b447f1", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.nfo": "54b4f84daf25626703f7b3a36b0dea49", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1d0f1081b402ebea9aeedf75f891c811", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.nfo": "3d2644161e57b94cfac5e95732864cc3", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "e5a844cc2c8fe19037afdf0692731414", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.nfo": "fd91adb2089d0fcdbb2e568a10ac880e", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_1/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_1/is_yt_1_migrated.json new file mode 100644 index 00000000..bae82de6 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_1/is_yt_1_migrated.json @@ -0,0 +1,18 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "ba324b2c6532fe9d8fbe03e0dd6d0410", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_2/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_2/is_yt_1_migrated.json new file mode 100644 index 00000000..eb4cb28e --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Plex/playlist-index-reversed/s_2/is_yt_1_migrated.json @@ -0,0 +1,31 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "6ec6913047c175cedcbd41cb3ef402fc", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6390603e1f9642ea573f25179b42f6af", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "179e310bd4de1638d84b6da787ff9fa8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "3c412f47cb87e820138fb8909c672216", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "8409a144e67c50573bae29bf76431d76", + "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "e107a93fa177c5f8594ccc3e023db8e8", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "2788e6b165908e6d52d7d771859b085e", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "6f0fd7cb3b3c49a8cf7baa6657cb5148", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "6a983aa1b5dff65c54bd5f0b78003e07", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1.json new file mode 100644 index 00000000..3ebd92c2 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "87f96a1e055447383bfea0a12680438d", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "a874866ad7096eb3bf31c72ea3315354", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "fe6fcf8bfc13c0913ad1509703b447f1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1d0f1081b402ebea9aeedf75f891c811", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "e5a844cc2c8fe19037afdf0692731414", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1.json new file mode 100644 index 00000000..47a0f4ac --- /dev/null +++ b/tests/resources/expected_downloads_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1.json @@ -0,0 +1,31 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "04d06f293fcb5164266bedf66b4d4264", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "fab0f2d0a74558a86b3935c6b962ebe3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "9c2569c62ff81f067fe3d91324942c11", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "921e686edbf2a2e11f8d3eba9ef32592", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "a9fae3eca046637910a6e79aae4a8354", + "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "a874866ad7096eb3bf31c72ea3315354", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "fe6fcf8bfc13c0913ad1509703b447f1", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1d0f1081b402ebea9aeedf75f891c811", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "e5a844cc2c8fe19037afdf0692731414", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Jellyfin/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.txt new file mode 100644 index 00000000..7192b6c7 --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1.txt @@ -0,0 +1 @@ +No new, modified, or removed files in '{output_directory}' \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt new file mode 100644 index 00000000..2d20fc29 --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/does-not-exist/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt @@ -0,0 +1,4 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/playlist-index/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..0e0cc670 --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1.txt @@ -0,0 +1,134 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + genre: ytdl-sub + mpaa: TV-14 + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: Best Prebuilt TV Show Collection +{output_directory}/Season 01 + s01.e100052498 - Mock Entry 20-1-thumb.jpg + s01.e100052498 - Mock Entry 20-1.info.json + s01.e100052498 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 100052498 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s01.e100052498 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 100052498 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 1 + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s01.e100052499 - Mock Entry 20-2-thumb.jpg + s01.e100052499 - Mock Entry 20-2.info.json + s01.e100052499 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 100052499 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s01.e100052499 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 100052499 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 1 + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s01.e100052599 - Mock Entry 20-3-thumb.jpg + s01.e100052599 - Mock Entry 20-3.info.json + s01.e100052599 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-07 + episode_id: 100052599 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s01.e100052599 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2000-08-07 + episode: 100052599 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 1 + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s01.e99052499 - Mock Entry 21-1-thumb.jpg + s01.e99052499 - Mock Entry 21-1.info.json + s01.e99052499 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2001-08-08 + episode_id: 99052499 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 + s01.e99052499 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2001-08-08 + episode: 99052499 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 1 + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt new file mode 100644 index 00000000..a6ff607e --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt @@ -0,0 +1,143 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json +{output_directory}/Season 01 + s01.e000001 - Mock Entry 20-3-thumb.jpg + s01.e000001 - Mock Entry 20-3.info.json + s01.e000001 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-07 + episode_id: 1 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000001 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - Mock Entry 20-2-thumb.jpg + s01.e000002 - Mock Entry 20-2.info.json + s01.e000002 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 2 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000002 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - Mock Entry 20-1-thumb.jpg + s01.e000003 - Mock Entry 20-1.info.json + s01.e000003 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 3 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - Mock Entry 21-1-thumb.jpg + s01.e000004 - Mock Entry 21-1.info.json + s01.e000004 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2021-08-08 + episode_id: 4 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000004 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json +{output_directory}/Season 01 + s01.e100052498 - Mock Entry 20-1-thumb.jpg + s01.e100052498 - Mock Entry 20-1.info.json + s01.e100052498 - Mock Entry 20-1.mp4 + s01.e100052498 - Mock Entry 20-1.nfo + s01.e100052499 - Mock Entry 20-2-thumb.jpg + s01.e100052499 - Mock Entry 20-2.info.json + s01.e100052499 - Mock Entry 20-2.mp4 + s01.e100052499 - Mock Entry 20-2.nfo + s01.e100052599 - Mock Entry 20-3-thumb.jpg + s01.e100052599 - Mock Entry 20-3.info.json + s01.e100052599 - Mock Entry 20-3.mp4 + s01.e100052599 - Mock Entry 20-3.nfo + s01.e99052499 - Mock Entry 21-1-thumb.jpg + s01.e99052499 - Mock Entry 21-1.info.json + s01.e99052499 - Mock Entry 21-1.mp4 + s01.e99052499 - Mock Entry 21-1.nfo \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..135d1231 --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1.txt @@ -0,0 +1,257 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + genre: ytdl-sub + mpaa: TV-14 + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: Best Prebuilt TV Show Collection +{output_directory}/Season 01 + s01.e100052699 - Mock Entry 20-4-thumb.jpg + s01.e100052699 - Mock Entry 20-4.info.json + s01.e100052699 - Mock Entry 20-4.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-06 + episode_id: 100052699 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-4.com + + The Description + title: 2000-08-06 - Mock Entry 20-4 + year: 2000 + s01.e100052699 - Mock Entry 20-4.nfo + NFO tags: + episodedetails: + aired: 2000-08-06 + episode: 100052699 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-4.com + + The Description + season: 1 + title: 2000-08-06 - Mock Entry 20-4 + year: 2000 + s01.e100062698 - Mock Entry 20-5-thumb.jpg + s01.e100062698 - Mock Entry 20-5.info.json + s01.e100062698 - Mock Entry 20-5.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-07-06 + episode_id: 100062698 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-5.com + + The Description + title: 2000-07-06 - Mock Entry 20-5 + year: 2000 + s01.e100062698 - Mock Entry 20-5.nfo + NFO tags: + episodedetails: + aired: 2000-07-06 + episode: 100062698 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-5.com + + The Description + season: 1 + title: 2000-07-06 - Mock Entry 20-5 + year: 2000 + s01.e100062699 - Mock Entry 20-6-thumb.jpg + s01.e100062699 - Mock Entry 20-6.info.json + s01.e100062699 - Mock Entry 20-6.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-07-06 + episode_id: 100062699 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-6.com + + The Description + title: 2000-07-06 - Mock Entry 20-6 + year: 2000 + s01.e100062699 - Mock Entry 20-6.nfo + NFO tags: + episodedetails: + aired: 2000-07-06 + episode: 100062699 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-6.com + + The Description + season: 1 + title: 2000-07-06 - Mock Entry 20-6 + year: 2000 + s01.e100072599 - Mock Entry 20-7-thumb.jpg + s01.e100072599 - Mock Entry 20-7.info.json + s01.e100072599 - Mock Entry 20-7.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-06-06 + episode_id: 100072599 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-7.com + + The Description + title: 2000-06-06 - Mock Entry 20-7 + year: 2000 + s01.e100072599 - Mock Entry 20-7.nfo + NFO tags: + episodedetails: + aired: 2000-06-06 + episode: 100072599 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-7.com + + The Description + season: 1 + title: 2000-06-06 - Mock Entry 20-7 + year: 2000 +{output_directory}/Season 02 + s02.e100052498 - Mock Entry 20-1-thumb.jpg + s02.e100052498 - Mock Entry 20-1.info.json + s02.e100052498 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 100052498 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s02.e100052498 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 100052498 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 2 + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s02.e100052499 - Mock Entry 20-2-thumb.jpg + s02.e100052499 - Mock Entry 20-2.info.json + s02.e100052499 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 100052499 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s02.e100052499 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 100052499 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 2 + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s02.e100052599 - Mock Entry 20-3-thumb.jpg + s02.e100052599 - Mock Entry 20-3.info.json + s02.e100052599 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-07 + episode_id: 100052599 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s02.e100052599 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2000-08-07 + episode: 100052599 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 2 + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s02.e99052499 - Mock Entry 21-1-thumb.jpg + s02.e99052499 - Mock Entry 21-1.info.json + s02.e99052499 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2001-08-08 + episode_id: 99052499 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 + s02.e99052499 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2001-08-08 + episode: 99052499 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 2 + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt new file mode 100644 index 00000000..2d56f95a --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt @@ -0,0 +1,277 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json +{output_directory}/Season 01 + s01.e000001 - Mock Entry 20-7-thumb.jpg + s01.e000001 - Mock Entry 20-7.info.json + s01.e000001 - Mock Entry 20-7.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-06-06 + episode_id: 1 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-7.com + + The Description + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000001 - Mock Entry 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 1 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-7.com + + The Description + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - Mock Entry 20-6-thumb.jpg + s01.e000002 - Mock Entry 20-6.info.json + s01.e000002 - Mock Entry 20-6.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-07-06 + episode_id: 2 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-6.com + + The Description + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000002 - Mock Entry 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 2 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-6.com + + The Description + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - Mock Entry 20-5-thumb.jpg + s01.e000003 - Mock Entry 20-5.info.json + s01.e000003 - Mock Entry 20-5.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-07-06 + episode_id: 3 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-5.com + + The Description + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000003 - Mock Entry 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-5.com + + The Description + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - Mock Entry 20-4-thumb.jpg + s01.e000004 - Mock Entry 20-4.info.json + s01.e000004 - Mock Entry 20-4.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-06 + episode_id: 4 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-4.com + + The Description + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000004 - Mock Entry 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 4 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-4.com + + The Description + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - Mock Entry 20-3-thumb.jpg + s02.e000001 - Mock Entry 20-3.info.json + s02.e000001 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-07 + episode_id: 1 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000001 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - Mock Entry 20-2-thumb.jpg + s02.e000002 - Mock Entry 20-2.info.json + s02.e000002 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 2 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000002 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - Mock Entry 20-1-thumb.jpg + s02.e000003 - Mock Entry 20-1.info.json + s02.e000003 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 3 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - Mock Entry 21-1-thumb.jpg + s02.e000004 - Mock Entry 21-1.info.json + s02.e000004 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2021-08-08 + episode_id: 4 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000004 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json +{output_directory}/Season 01 + s01.e100052699 - Mock Entry 20-4-thumb.jpg + s01.e100052699 - Mock Entry 20-4.info.json + s01.e100052699 - Mock Entry 20-4.mp4 + s01.e100052699 - Mock Entry 20-4.nfo + s01.e100062698 - Mock Entry 20-5-thumb.jpg + s01.e100062698 - Mock Entry 20-5.info.json + s01.e100062698 - Mock Entry 20-5.mp4 + s01.e100062698 - Mock Entry 20-5.nfo + s01.e100062699 - Mock Entry 20-6-thumb.jpg + s01.e100062699 - Mock Entry 20-6.info.json + s01.e100062699 - Mock Entry 20-6.mp4 + s01.e100062699 - Mock Entry 20-6.nfo + s01.e100072599 - Mock Entry 20-7-thumb.jpg + s01.e100072599 - Mock Entry 20-7.info.json + s01.e100072599 - Mock Entry 20-7.mp4 + s01.e100072599 - Mock Entry 20-7.nfo +{output_directory}/Season 02 + s02.e100052498 - Mock Entry 20-1-thumb.jpg + s02.e100052498 - Mock Entry 20-1.info.json + s02.e100052498 - Mock Entry 20-1.mp4 + s02.e100052498 - Mock Entry 20-1.nfo + s02.e100052499 - Mock Entry 20-2-thumb.jpg + s02.e100052499 - Mock Entry 20-2.info.json + s02.e100052499 - Mock Entry 20-2.mp4 + s02.e100052499 - Mock Entry 20-2.nfo + s02.e100052599 - Mock Entry 20-3-thumb.jpg + s02.e100052599 - Mock Entry 20-3.info.json + s02.e100052599 - Mock Entry 20-3.mp4 + s02.e100052599 - Mock Entry 20-3.nfo + s02.e99052499 - Mock Entry 21-1-thumb.jpg + s02.e99052499 - Mock Entry 21-1.info.json + s02.e99052499 - Mock Entry 21-1.mp4 + s02.e99052499 - Mock Entry 21-1.nfo \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.txt new file mode 100644 index 00000000..cf5a8cd3 --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1.txt @@ -0,0 +1,134 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + genre: ytdl-sub + mpaa: TV-14 + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: Best Prebuilt TV Show Collection +{output_directory}/Season 01 + s01.e00080701 - Mock Entry 20-3-thumb.jpg + s01.e00080701 - Mock Entry 20-3.info.json + s01.e00080701 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-07 + episode_id: 0080701 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s01.e00080701 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2000-08-07 + episode: 0080701 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 1 + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s01.e00080801 - Mock Entry 20-2-thumb.jpg + s01.e00080801 - Mock Entry 20-2.info.json + s01.e00080801 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 0080801 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s01.e00080801 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 0080801 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 1 + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s01.e00080802 - Mock Entry 20-1-thumb.jpg + s01.e00080802 - Mock Entry 20-1.info.json + s01.e00080802 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 0080802 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s01.e00080802 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 0080802 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 1 + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s01.e01080801 - Mock Entry 21-1-thumb.jpg + s01.e01080801 - Mock Entry 21-1.info.json + s01.e01080801 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2001-08-08 + episode_id: 1080801 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 + s01.e01080801 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2001-08-08 + episode: 1080801 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 1 + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt new file mode 100644 index 00000000..b2832b2a --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt @@ -0,0 +1,143 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json +{output_directory}/Season 01 + s01.e000001 - Mock Entry 20-3-thumb.jpg + s01.e000001 - Mock Entry 20-3.info.json + s01.e000001 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-07 + episode_id: 1 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000001 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - Mock Entry 20-2-thumb.jpg + s01.e000002 - Mock Entry 20-2.info.json + s01.e000002 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 2 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000002 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - Mock Entry 20-1-thumb.jpg + s01.e000003 - Mock Entry 20-1.info.json + s01.e000003 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 3 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - Mock Entry 21-1-thumb.jpg + s01.e000004 - Mock Entry 21-1.info.json + s01.e000004 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2021-08-08 + episode_id: 4 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000004 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json +{output_directory}/Season 01 + s01.e00080701 - Mock Entry 20-3-thumb.jpg + s01.e00080701 - Mock Entry 20-3.info.json + s01.e00080701 - Mock Entry 20-3.mp4 + s01.e00080701 - Mock Entry 20-3.nfo + s01.e00080801 - Mock Entry 20-2-thumb.jpg + s01.e00080801 - Mock Entry 20-2.info.json + s01.e00080801 - Mock Entry 20-2.mp4 + s01.e00080801 - Mock Entry 20-2.nfo + s01.e00080802 - Mock Entry 20-1-thumb.jpg + s01.e00080802 - Mock Entry 20-1.info.json + s01.e00080802 - Mock Entry 20-1.mp4 + s01.e00080802 - Mock Entry 20-1.nfo + s01.e01080801 - Mock Entry 21-1-thumb.jpg + s01.e01080801 - Mock Entry 21-1.info.json + s01.e01080801 - Mock Entry 21-1.mp4 + s01.e01080801 - Mock Entry 21-1.nfo \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.txt new file mode 100644 index 00000000..c6da76b6 --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1.txt @@ -0,0 +1,257 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + genre: ytdl-sub + mpaa: TV-14 + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: Best Prebuilt TV Show Collection +{output_directory}/Season 01 + s01.e00060601 - Mock Entry 20-7-thumb.jpg + s01.e00060601 - Mock Entry 20-7.info.json + s01.e00060601 - Mock Entry 20-7.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-06-06 + episode_id: 0060601 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-7.com + + The Description + title: 2000-06-06 - Mock Entry 20-7 + year: 2000 + s01.e00060601 - Mock Entry 20-7.nfo + NFO tags: + episodedetails: + aired: 2000-06-06 + episode: 0060601 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-7.com + + The Description + season: 1 + title: 2000-06-06 - Mock Entry 20-7 + year: 2000 + s01.e00070601 - Mock Entry 20-6-thumb.jpg + s01.e00070601 - Mock Entry 20-6.info.json + s01.e00070601 - Mock Entry 20-6.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-07-06 + episode_id: 0070601 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-6.com + + The Description + title: 2000-07-06 - Mock Entry 20-6 + year: 2000 + s01.e00070601 - Mock Entry 20-6.nfo + NFO tags: + episodedetails: + aired: 2000-07-06 + episode: 0070601 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-6.com + + The Description + season: 1 + title: 2000-07-06 - Mock Entry 20-6 + year: 2000 + s01.e00070602 - Mock Entry 20-5-thumb.jpg + s01.e00070602 - Mock Entry 20-5.info.json + s01.e00070602 - Mock Entry 20-5.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-07-06 + episode_id: 0070602 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-5.com + + The Description + title: 2000-07-06 - Mock Entry 20-5 + year: 2000 + s01.e00070602 - Mock Entry 20-5.nfo + NFO tags: + episodedetails: + aired: 2000-07-06 + episode: 0070602 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-5.com + + The Description + season: 1 + title: 2000-07-06 - Mock Entry 20-5 + year: 2000 + s01.e00080601 - Mock Entry 20-4-thumb.jpg + s01.e00080601 - Mock Entry 20-4.info.json + s01.e00080601 - Mock Entry 20-4.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-06 + episode_id: 0080601 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-4.com + + The Description + title: 2000-08-06 - Mock Entry 20-4 + year: 2000 + s01.e00080601 - Mock Entry 20-4.nfo + NFO tags: + episodedetails: + aired: 2000-08-06 + episode: 0080601 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-4.com + + The Description + season: 1 + title: 2000-08-06 - Mock Entry 20-4 + year: 2000 +{output_directory}/Season 02 + s02.e00080701 - Mock Entry 20-3-thumb.jpg + s02.e00080701 - Mock Entry 20-3.info.json + s02.e00080701 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-07 + episode_id: 0080701 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s02.e00080701 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2000-08-07 + episode: 0080701 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 2 + title: 2000-08-07 - Mock Entry 20-3 + year: 2000 + s02.e00080801 - Mock Entry 20-2-thumb.jpg + s02.e00080801 - Mock Entry 20-2.info.json + s02.e00080801 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 0080801 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s02.e00080801 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 0080801 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 2 + title: 2000-08-08 - Mock Entry 20-2 + year: 2000 + s02.e00080802 - Mock Entry 20-1-thumb.jpg + s02.e00080802 - Mock Entry 20-1.info.json + s02.e00080802 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2000-08-08 + episode_id: 0080802 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s02.e00080802 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2000-08-08 + episode: 0080802 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 2 + title: 2000-08-08 - Mock Entry 20-1 + year: 2000 + s02.e01080801 - Mock Entry 21-1-thumb.jpg + s02.e01080801 - Mock Entry 21-1.info.json + s02.e01080801 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2001-08-08 + episode_id: 1080801 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 + s02.e01080801 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2001-08-08 + episode: 1080801 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 2 + title: 2001-08-08 - Mock Entry 21-1 + year: 2001 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt new file mode 100644 index 00000000..2fc7ab5e --- /dev/null +++ b/tests/resources/transaction_log_summaries/integration/collection/Kodi/release-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt @@ -0,0 +1,277 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json +{output_directory}/Season 01 + s01.e000001 - Mock Entry 20-7-thumb.jpg + s01.e000001 - Mock Entry 20-7.info.json + s01.e000001 - Mock Entry 20-7.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-06-06 + episode_id: 1 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-7.com + + The Description + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000001 - Mock Entry 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 1 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-7.com + + The Description + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - Mock Entry 20-6-thumb.jpg + s01.e000002 - Mock Entry 20-6.info.json + s01.e000002 - Mock Entry 20-6.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-07-06 + episode_id: 2 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-6.com + + The Description + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000002 - Mock Entry 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 2 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-6.com + + The Description + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - Mock Entry 20-5-thumb.jpg + s01.e000003 - Mock Entry 20-5.info.json + s01.e000003 - Mock Entry 20-5.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-07-06 + episode_id: 3 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-5.com + + The Description + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000003 - Mock Entry 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-5.com + + The Description + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - Mock Entry 20-4-thumb.jpg + s01.e000004 - Mock Entry 20-4.info.json + s01.e000004 - Mock Entry 20-4.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-06 + episode_id: 4 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-4.com + + The Description + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000004 - Mock Entry 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 4 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-4.com + + The Description + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - Mock Entry 20-3-thumb.jpg + s02.e000001 - Mock Entry 20-3.info.json + s02.e000001 - Mock Entry 20-3.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-07 + episode_id: 1 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-3.com + + The Description + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000001 - Mock Entry 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-3.com + + The Description + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - Mock Entry 20-2-thumb.jpg + s02.e000002 - Mock Entry 20-2.info.json + s02.e000002 - Mock Entry 20-2.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 2 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-2.com + + The Description + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000002 - Mock Entry 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-2.com + + The Description + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - Mock Entry 20-1-thumb.jpg + s02.e000003 - Mock Entry 20-1.info.json + s02.e000003 - Mock Entry 20-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2020-08-08 + episode_id: 3 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://20-1.com + + The Description + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - Mock Entry 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://20-1.com + + The Description + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - Mock Entry 21-1-thumb.jpg + s02.e000004 - Mock Entry 21-1.info.json + s02.e000004 - Mock Entry 21-1.mp4 + Video Tags: + contentRating: TV-14 + date: 2021-08-08 + episode_id: 4 + genre: ytdl-sub + show: Best Prebuilt TV Show Collection + synopsis: + https://21-1.com + + The Description + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000004 - Mock Entry 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + genre: ytdl-sub + mpaa: TV-14 + plot: + https://21-1.com + + The Description + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json +{output_directory}/Season 01 + s01.e00060601 - Mock Entry 20-7-thumb.jpg + s01.e00060601 - Mock Entry 20-7.info.json + s01.e00060601 - Mock Entry 20-7.mp4 + s01.e00060601 - Mock Entry 20-7.nfo + s01.e00070601 - Mock Entry 20-6-thumb.jpg + s01.e00070601 - Mock Entry 20-6.info.json + s01.e00070601 - Mock Entry 20-6.mp4 + s01.e00070601 - Mock Entry 20-6.nfo + s01.e00070602 - Mock Entry 20-5-thumb.jpg + s01.e00070602 - Mock Entry 20-5.info.json + s01.e00070602 - Mock Entry 20-5.mp4 + s01.e00070602 - Mock Entry 20-5.nfo + s01.e00080601 - Mock Entry 20-4-thumb.jpg + s01.e00080601 - Mock Entry 20-4.info.json + s01.e00080601 - Mock Entry 20-4.mp4 + s01.e00080601 - Mock Entry 20-4.nfo +{output_directory}/Season 02 + s02.e00080701 - Mock Entry 20-3-thumb.jpg + s02.e00080701 - Mock Entry 20-3.info.json + s02.e00080701 - Mock Entry 20-3.mp4 + s02.e00080701 - Mock Entry 20-3.nfo + s02.e00080801 - Mock Entry 20-2-thumb.jpg + s02.e00080801 - Mock Entry 20-2.info.json + s02.e00080801 - Mock Entry 20-2.mp4 + s02.e00080801 - Mock Entry 20-2.nfo + s02.e00080802 - Mock Entry 20-1-thumb.jpg + s02.e00080802 - Mock Entry 20-1.info.json + s02.e00080802 - Mock Entry 20-1.mp4 + s02.e00080802 - Mock Entry 20-1.nfo + s02.e01080801 - Mock Entry 21-1-thumb.jpg + s02.e01080801 - Mock Entry 21-1.info.json + s02.e01080801 - Mock Entry 21-1.mp4 + s02.e01080801 - Mock Entry 21-1.nfo \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day-reversed/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Kodi/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_1/is_yt_1_reformatted_to_playlist-index-reversed.txt diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt rename to tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1.txt diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt similarity index 100% rename from tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt rename to tests/resources/transaction_log_summaries/integration/collection/Plex/upload-year-month-day/s_2/is_yt_1_reformatted_to_playlist-index-reversed.txt