diff --git a/docs/presets.rst b/docs/presets.rst index 593959c7..b16ccce3 100644 --- a/docs/presets.rst +++ b/docs/presets.rst @@ -29,6 +29,10 @@ Episode Formatting Presets * ``season_by_year__episode_by_month_day_reversed`` * Episode numbers are reversed, meaning more recent episodes appear at the top of a season by having a lower value. +* ``season_by_year__episode_by_download_index`` + * Episodes are numbered by the download order. NOTE that this fetched using + the length of the download archive. Do not use if you intend to remove + old videos. Usage """"" @@ -82,6 +86,10 @@ Episode Formatting Presets * Only use playlist_index episode formatting for playlists that will never change. Otherwise, indices get messed up. * ``season_by_collection__episode_by_playlist_index_reversed`` +* ``season_by_collection__episode_by_download_index`` + * Episodes are numbered by the download order. NOTE that this fetched using + the length of the download archive. Do not use if you intend to remove + old videos. Season Presets """""""""""""" diff --git a/src/ytdl_sub/downloaders/downloader.py b/src/ytdl_sub/downloaders/downloader.py index 952e6a50..3a177504 100644 --- a/src/ytdl_sub/downloaders/downloader.py +++ b/src/ytdl_sub/downloaders/downloader.py @@ -32,6 +32,7 @@ from ytdl_sub.downloaders.ytdl_options_builder import YTDLOptionsBuilder from ytdl_sub.entries.base_entry import BaseEntry from ytdl_sub.entries.entry import Entry from ytdl_sub.entries.entry_parent import EntryParent +from ytdl_sub.entries.variables.kwargs import DOWNLOAD_INDEX from ytdl_sub.entries.variables.kwargs import PLAYLIST_ENTRY from ytdl_sub.entries.variables.kwargs import REQUESTED_SUBTITLES from ytdl_sub.entries.variables.kwargs import SOURCE_ENTRY @@ -391,11 +392,14 @@ class Downloader(DownloadArchiver, Generic[DownloaderOptionsT], ABC): upload_date_idx = self._enhanced_download_archive.mapping.get_num_entries_with_upload_date( upload_date_standardized=entry.upload_date_standardized ) + download_idx = self._enhanced_download_archive.mapping.get_num_entries() entry.add_kwargs( { # Workaround for the yt-dlp issue that does not include subs in playlist downloads REQUESTED_SUBTITLES: download_entry.kwargs_get(REQUESTED_SUBTITLES), + # Tracks number of entries downloaded + DOWNLOAD_INDEX: download_idx, # Tracks number of entries with the same upload date to make them unique UPLOAD_DATE_INDEX: upload_date_idx, } diff --git a/src/ytdl_sub/entries/variables/entry_variables.py b/src/ytdl_sub/entries/variables/entry_variables.py index c07e5076..fd20d3d1 100644 --- a/src/ytdl_sub/entries/variables/entry_variables.py +++ b/src/ytdl_sub/entries/variables/entry_variables.py @@ -5,6 +5,7 @@ from yt_dlp.utils import sanitize_filename from ytdl_sub.entries.base_entry import BaseEntry from ytdl_sub.entries.base_entry import BaseEntryVariables from ytdl_sub.entries.variables.kwargs import CHANNEL +from ytdl_sub.entries.variables.kwargs import DOWNLOAD_INDEX from ytdl_sub.entries.variables.kwargs import EXT from ytdl_sub.entries.variables.kwargs import PLAYLIST_COUNT from ytdl_sub.entries.variables.kwargs import PLAYLIST_DESCRIPTION @@ -379,6 +380,27 @@ class EntryVariables(BaseEntryVariables): """ return "jpg" + @property + def download_index(self: Self) -> int: + """ + Returns + ------- + int + The i'th entry downloaded. NOTE that this is fetched dynamically from the download + archive. + """ + return self.kwargs_get(DOWNLOAD_INDEX, 0) + 1 + + @property + def download_index_padded6(self: Self) -> str: + """ + Returns + ------- + str + The upload_index padded six digits + """ + return pad(self.download_index, 6) + @property def upload_date_index(self: Self) -> int: """ diff --git a/src/ytdl_sub/entries/variables/kwargs.py b/src/ytdl_sub/entries/variables/kwargs.py index 96b2037f..1b9100e6 100644 --- a/src/ytdl_sub/entries/variables/kwargs.py +++ b/src/ytdl_sub/entries/variables/kwargs.py @@ -40,6 +40,7 @@ PLAYLIST_UPLOADER = _("playlist_uploader") PLAYLIST_UPLOADER_ID = _("playlist_uploader_id") PLAYLIST_UPLOADER_URL = _("playlist_uploader_url") +DOWNLOAD_INDEX = _("download_index", backend=True) UPLOAD_DATE_INDEX = _("upload_date_index", backend=True) REQUESTED_SUBTITLES = _("requested_subtitles", backend=True) UID = _("id") diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py index 598e8fa7..f0acebd6 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py +++ b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py @@ -22,6 +22,7 @@ TV_SHOW_BY_DATE = "_tv_show_by_date" SEASON_YEAR__EPISODE_MONTH_DAY = "season_by_year__episode_by_month_day" SEASON_YEAR__EPISODE_MONTH_DAY_REVERSED = "season_by_year__episode_by_month_day_reversed" +SEASON_YEAR__EPISODE_UPLOAD_INDEX = "season_by_year__episode_by_upload_index" SEASON_YEAR_MONTH__EPISODE_DAY = "season_by_year_month__episode_by_day" ##################################################### @@ -31,6 +32,7 @@ TV_SHOW_COLLECTION = "_tv_show_collection" SEASON_COLLECTION__EPISODE_Y_M_D = "season_by_collection__episode_by_year_month_day" SEASON_COLLECTION__EPISODE_Y_M_D_REV = "season_by_collection__episode_by_year_month_day_reversed" +SEASON_COLLECTION__EPISODE_UPLOAD_INDEX = "season_by_collection__episode_by_upload_index" class PrebuiltPresets: @@ -118,6 +120,11 @@ class TvShowByDateEpisodeFormattingPresets(PrebuiltPresets): """ return self._document_preset() + @property + def season_by_year__episode_by_download_index(self) -> Preset: + """DOC""" + return self._document_preset() + class TvShowCollectionPresets(PrebuiltPresets): """ @@ -182,6 +189,11 @@ class TvShowCollectionEpisodeFormattingPresets(PrebuiltPresets): """ return self._document_preset() + @property + def season_by_collection__episode_by_download_index(self) -> Preset: + """DOC""" + return self._document_preset() + class TvShowCollectionSeasonPresets(PrebuiltPresets): @property diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml index 51be669a..da55a34a 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +++ b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml @@ -96,6 +96,14 @@ presets: episode_number: "{upload_day_of_year_reversed}{upload_date_index_reversed_padded}" episode_number_padded: "{upload_day_of_year_reversed_padded}{upload_date_index_reversed_padded}" + season_by_year__episode_by_download_index: + preset: + - "_episode_base" + - "_season_by_year" + overrides: + episode_number: "{download_index}" + episode_number_padded: "{download_index_padded6}" + ############### season_by_collection__episode_by_year_month_day: @@ -125,3 +133,10 @@ presets: overrides: episode_number: "{playlist_index_reversed}" episode_number_padded: "{playlist_index_reversed_padded6}" + + season_by_collection__episode_by_download_index: + preset: + - "_episode_base" + overrides: + episode_number: "{download_index}" + episode_number_padded: "{download_index_padded6}" \ No newline at end of file diff --git a/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py b/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py index dcb10bbb..cd6d34b7 100644 --- a/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +++ b/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py @@ -189,7 +189,7 @@ class DownloadMappings: ------- True if there are no entry mappings. False otherwise. """ - return len(self._entry_mappings) == 0 + return self.get_num_entries() == 0 def add_entry(self, entry: Entry, entry_file_path: str) -> "DownloadMappings": """ @@ -242,6 +242,14 @@ class DownloadMappings: [_ for _ in self._entry_mappings.values() if _.upload_date == upload_date_standardized] ) + def get_num_entries(self) -> int: + """ + Returns + ------- + Number of entries in the mapping + """ + return len(self._entry_mappings) + def get_entries_out_of_range(self, date_range: DateRange) -> Dict[str, DownloadMapping]: """ Parameters diff --git a/tests/expected_download.py b/tests/expected_download.py index 94170d2a..3a4ea874 100644 --- a/tests/expected_download.py +++ b/tests/expected_download.py @@ -117,7 +117,7 @@ def assert_expected_downloads( dry_run: bool, expected_download_summary_file_name: str, ignore_md5_hashes_for: Optional[List[str]] = None, - regenerate_expected_download_summary: bool = True, + regenerate_expected_download_summary: bool = False, ): if dry_run: output_directory_contents = list(Path(output_directory).rglob("*")) diff --git a/tests/expected_transaction_log.py b/tests/expected_transaction_log.py index 66ae5cd9..0f274970 100644 --- a/tests/expected_transaction_log.py +++ b/tests/expected_transaction_log.py @@ -12,7 +12,7 @@ def assert_transaction_log_matches( output_directory: str, transaction_log: FileHandlerTransactionLog, transaction_log_summary_file_name: str, - regenerate_transaction_log: bool = True, + regenerate_transaction_log: bool = False, ): """ Parameters diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json new file mode 100644 index 00000000..4b6b8bd5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "1210f444aedd73ae2783f5af91fb3d2a", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3.mp4": "80fcdb781cf92c93bbec03746a115837", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3.nfo": "a2c8a022fc847306a7532d2b4cd232c3", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2.mp4": "f367e1d39e69a05455c90665e2216c7b", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2.nfo": "337afe160ce5853e77c65ebd932654e1", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1.mp4": "0285aa0e54c1d7924e0150da8cc968c8", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1.nfo": "04b12a58853b0908e5c85ae51400577d", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1.mp4": "eeb33439e6bfe14b364e1709052c7293", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1.nfo": "dee10981e2e573f39c48cb5f6d300120", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/tvshow.nfo": "ee3b3f5ddd0992a5d6c6b61e0f486cd0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json new file mode 100644 index 00000000..ffd0d2e0 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "1210f444aedd73ae2783f5af91fb3d2a", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3.mp4": "1b178e261a0eae1d02f233d22d6f979f", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3.nfo": "a2c8a022fc847306a7532d2b4cd232c3", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2.mp4": "66a6f2b7fd965e1913c0b542f8e2f6e5", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2.nfo": "337afe160ce5853e77c65ebd932654e1", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1.mp4": "c1ae890c170ddc0dfb09e322b8d6abde", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1.nfo": "04b12a58853b0908e5c85ae51400577d", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1.mp4": "401adfe88764f2b38f0dcd9c7ce4a91d", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1.nfo": "dee10981e2e573f39c48cb5f6d300120", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/tvshow.nfo": "d8684087d7f81fbc0a9d5af1dd562f73" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json new file mode 100644 index 00000000..3e2504fe --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.mp4": "386d93ffce7729d2dfeabe39c0bc90e1", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.mp4": "4423fee9ff34be02bf5de6dbb0ba50d3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.mp4": "adf49a79ea80fcb681db5df41aebbd97", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.mp4": "a7240cfd5ce51ec9202e796a0bb9ddc3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/tvshow.nfo": "0b9d48e7814bc9ad443fae30c1e4276b" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json new file mode 100644 index 00000000..79858c9a --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.mp4": "b0e761f4e80cc653a8b43a7b70e4aa60", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.mp4": "0dabc40f104bd0c2e9a9b32491df6c6a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.mp4": "4c6da7b302d6fba794735de535d7159b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.mp4": "91b2fa5806bfd910a4a6ad30ba294dc4", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/tvshow.nfo": "caedee235fcd40fb1683d8e27b114653" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json new file mode 100644 index 00000000..eb23bcee --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "c29657a0508ea157686f64af822dae3c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.mp4": "0f817b151787fbed10cd256a32761e5f", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6.mp4": "639a4d4c1d6dcc2dec35a1a6f3f14e74", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6.nfo": "fef124b3dfc186d6b179f442a45425a0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5.mp4": "2bc206b70306fb48a19d61bff6ba260c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5.nfo": "bd12ff2fcc4541006fa6ac17e207232a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4.mp4": "2ab637b4266e64af6f5c83bfeab2f0d9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4.nfo": "f1899b8213c5de3e1766ffee4d0b7e48", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.mp4": "d7f36735c3c3f0de9ab6023c8ef84961", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.mp4": "e50bb63bffe770a9b7f79716a200f350", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.mp4": "e6e6b71bb4b9f21b71676d7bdbd4b5ec", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.mp4": "a4bc20ac60475304ec346528ddfe703b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/tvshow.nfo": "a0cc5887fa025b4095126708bb14b3ae" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json new file mode 100644 index 00000000..1be316b7 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "c29657a0508ea157686f64af822dae3c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.mp4": "b7ca6622ca7f9690fd9aebfaf7028d0d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6.mp4": "34761ba774505c38aa3edb19bd4c16c5", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6.nfo": "fef124b3dfc186d6b179f442a45425a0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5.mp4": "09e22f56306080056c6040e18ba578a3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5.nfo": "bd12ff2fcc4541006fa6ac17e207232a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4.mp4": "22012b59bf10350316304d6237944876", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4.nfo": "f1899b8213c5de3e1766ffee4d0b7e48", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.mp4": "c22272db3a537bc1dc8975767974090b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.mp4": "3530d8aa40a96938601c478cedff6a01", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.mp4": "ea3390c59124b464708daa10f1721b4c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.mp4": "23c2b68df9849f1d775cd204b9873807", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/tvshow.nfo": "2a411793fe098860764a70a8c5653e3e" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json new file mode 100644 index 00000000..9776983d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "1210f444aedd73ae2783f5af91fb3d2a", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3.mp4": "5a3dff1da0568bc48e1523267d1e0bd5", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3.nfo": "a2c8a022fc847306a7532d2b4cd232c3", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2.mp4": "e79db21572d7be45153a0c6f0d2e91c4", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2.nfo": "337afe160ce5853e77c65ebd932654e1", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1.mp4": "d1a3521c555f5bd9de9b6c9bc50d6067", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1.nfo": "04b12a58853b0908e5c85ae51400577d", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1.mp4": "b6450bb0cecd83ced0bae0612a33481f", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1.nfo": "dee10981e2e573f39c48cb5f6d300120", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/tvshow.nfo": "b28b526b1b6b90e549b32359050c4fcc" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json new file mode 100644 index 00000000..803908cc --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "1210f444aedd73ae2783f5af91fb3d2a", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3.mp4": "37c2b30a41f16c01ce1769ee24e1182b", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3.nfo": "a2c8a022fc847306a7532d2b4cd232c3", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2.mp4": "198e26e1d9e9fe45f8e4d59da1e577f9", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2.nfo": "337afe160ce5853e77c65ebd932654e1", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1.mp4": "5dc0930a217d10ec75d1013ac7ed2c55", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1.nfo": "04b12a58853b0908e5c85ae51400577d", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1.mp4": "2915935e0a5a60d6e581f336b77c834a", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1.nfo": "dee10981e2e573f39c48cb5f6d300120", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/tvshow.nfo": "8289ee91a7898ee4c3708f868609f42d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json new file mode 100644 index 00000000..316d04fd --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.mp4": "66ba802ef0f0103573bb9e0e3cefdabe", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.mp4": "bc17cee0af65b0fbb7688960a1c93870", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.mp4": "af4846a9d66799480648f6d02b135e9e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.mp4": "41e2d9db740ccd869942c4bca2f40e20", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/tvshow.nfo": "06cc3a2a40776f980a1a4bb32a8478f5" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json new file mode 100644 index 00000000..de4445c2 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.mp4": "114d5f11b4ffb386a20118d30f7f78d5", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.mp4": "a9750de8e1eb3d7e547220ece62b5858", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.mp4": "7f7375d3da290bcd02db1e681b60d63d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.mp4": "368f2a9b36bea212099d848eeeefd263", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/tvshow.nfo": "f2a7d77b90c788342d232571fe7ff48e" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json new file mode 100644 index 00000000..85cd23a5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "c29657a0508ea157686f64af822dae3c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.mp4": "184fe91b3e89a56ea0cc81d85576bd5e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6.mp4": "fc5f6e8f29d0a51a28c2b5bf9c8d748e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6.nfo": "fef124b3dfc186d6b179f442a45425a0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5.mp4": "9d3118808b8d0e36426658b0c7d662ad", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5.nfo": "bd12ff2fcc4541006fa6ac17e207232a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4.mp4": "828da3444f8f074d7cf6555912e1efa6", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4.nfo": "f1899b8213c5de3e1766ffee4d0b7e48", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.mp4": "afb84b173eb7759620b2e4d21bd9dfd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.mp4": "47e517621d6d943e2438a2912f02679c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.mp4": "d48a79b273bcf6c314bc2d689b1a4e1e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.mp4": "a3b15f2a045c54a427ae5152d27a8cb3", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/tvshow.nfo": "4b0ae947b74b2e7056f8570442298583" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json new file mode 100644 index 00000000..b4d7f319 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "c29657a0508ea157686f64af822dae3c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.mp4": "77d5cd2369b69c8646d7616fb3322946", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6.mp4": "d4766f47f1937433302412502f4d0ac5", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6.nfo": "fef124b3dfc186d6b179f442a45425a0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5.mp4": "ac757ec0f1e5cf9e36ea50aeb9e17a65", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5.nfo": "bd12ff2fcc4541006fa6ac17e207232a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4.mp4": "3fd54bff6a3cae05ca56464759cb3a73", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4.nfo": "f1899b8213c5de3e1766ffee4d0b7e48", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.mp4": "24f9193da76bf18b0f5855f3f935ff9b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.mp4": "aaac7d01ddd7d84f4eb9c42878db050a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.mp4": "43f29bb536d1a1eed285551b3f097d08", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.mp4": "0582a531a7f25df6eec5928d4de4650c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/tvshow.nfo": "107064025baf9f3c9fd868c1dc2252d7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json new file mode 100644 index 00000000..73285b30 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "37d49d806cb9943250237dc05a54def9", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000001 - 20-3.mp4": "aedfcf811a6b868aefbd3a5531198f88", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000002 - 20-2.mp4": "b35f9146f22563739e5d5b92bf830d42", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2020/s2020.e000003 - 20-1.mp4": "a956b01cc3edf37ce07a9efa1adb884a", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/Season 2021/s2021.e000004 - 21-1.mp4": "5cc43c84fd2646ae50bd5523213c3fb0", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json new file mode 100644 index 00000000..016888d2 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json @@ -0,0 +1,13 @@ +{ + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "37d49d806cb9943250237dc05a54def9", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000001 - 20-3.mp4": "661f2008605b7019e837c81c7ab7e23e", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000002 - 20-2.mp4": "de610b7795466eb3082ff75f7bd98b40", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2020/s2020.e000003 - 20-1.mp4": "38332b89050892d497feea4580dd18d6", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/Season 2021/s2021.e000004 - 21-1.mp4": "1f5b96e1bdb88f8bf73ffd689f83783e", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json new file mode 100644 index 00000000..bfbb8752 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "6455f5604169b1a9823aa2e4f3166a1b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.mp4": "8fe8825ddbc72f4012185bc3a5e8f351", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.mp4": "28c689d30450129357a2beed9a4026b3", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.mp4": "3c24ededd38a3a6fb25eeb2e33d361c1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.mp4": "cbef865302fe4db75400c62139c80d50", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json new file mode 100644 index 00000000..46e73e99 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.json @@ -0,0 +1,14 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "6455f5604169b1a9823aa2e4f3166a1b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.mp4": "ae7ea9c73a4264267db377269907d0b1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.mp4": "58b2f59b5f7d49f2f029136cc200228d", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.mp4": "64132a57c7cb8438c7323386a0b8a647", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.mp4": "4af8c0480ad8cf82080ae27945480d96", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json new file mode 100644 index 00000000..53db02f3 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.json @@ -0,0 +1,21 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "39a7c813a2dacf9b4753494b3dc328fd", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.mp4": "93a253018c2209aca57b9f2362a0e9f2", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000006 - 20-6.mp4": "993020cbf435a10f8d92fbff92e6bdf1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000007 - 20-5.mp4": "b83781c3e89c8bef3013e38e2e116aec", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 01/s01.e000008 - 20-4.mp4": "d7ca023f39798f74c75b007ff6f51c08", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.mp4": "ad1cbca4980305e58c56696b82d4482b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.mp4": "a935b64c693bcd60c328202a831f02af", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.mp4": "43a24b18736229f7b7bc3d0091f499b2", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.mp4": "d66540984cefa987835a114bedfc3c9d", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json new file mode 100644 index 00000000..335fb7eb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "39a7c813a2dacf9b4753494b3dc328fd", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.mp4": "e240b90e13897de3006da7c1dbee9fe3", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000006 - 20-6.mp4": "46d84141e3530f808de0a49e5e2449ed", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000007 - 20-5.mp4": "3a5baff9b32b55a2d30def485f27700a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 01/s01.e000008 - 20-4.mp4": "1b8d4b5ce3878f9be43d15759197a787", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.mp4": "6f773bf1bbc3dfa0f1ae45013f7d106e", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.mp4": "97e178a347e9fa1e464789c1f623d344", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.mp4": "cc1f4fede3d2c2ed0a2910605ee86edb", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.mp4": "d4771bc04e15f71f1108f3a2e993b403", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt new file mode 100644 index 00000000..d56d2886 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt @@ -0,0 +1,87 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 +{output_directory}/Season 2020 + s2020.e000001 - 20-3-thumb.jpg + s2020.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2020 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000002 - 20-2-thumb.jpg + s2020.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2020 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000003 - 20-1-thumb.jpg + s2020.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2020 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e000004 - 21-1-thumb.jpg + s2021.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2021 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s2021.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt new file mode 100644 index 00000000..864069ba --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 +{output_directory}/Season 2020 + s2020.e000001 - 20-3-thumb.jpg + s2020.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2020 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000002 - 20-2-thumb.jpg + s2020.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2020 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000003 - 20-1-thumb.jpg + s2020.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2020 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e000004 - 21-1-thumb.jpg + s2021.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2021 + show: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s2021.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt new file mode 100644 index 00000000..e18f82d9 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt new file mode 100644 index 00000000..da7ec474 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt @@ -0,0 +1,92 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt new file mode 100644 index 00000000..072e7574 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt @@ -0,0 +1,173 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000006 - 20-6-thumb.jpg + s01.e000006 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 6 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000006 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 6 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000007 - 20-5-thumb.jpg + s01.e000007 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 7 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000007 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 7 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000008 - 20-4-thumb.jpg + s01.e000008 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 8 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000008 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 8 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt new file mode 100644 index 00000000..0d5ec1f4 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt @@ -0,0 +1,175 @@ +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: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000006 - 20-6-thumb.jpg + s01.e000006 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 6 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000006 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 6 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000007 - 20-5-thumb.jpg + s01.e000007 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 7 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000007 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 7 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000008 - 20-4-thumb.jpg + s01.e000008 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 8 + season_number: 1 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000008 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 8 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt new file mode 100644 index 00000000..4ca3e53c --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt @@ -0,0 +1,87 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 +{output_directory}/Season 2020 + s2020.e000001 - 20-3-thumb.jpg + s2020.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2020 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000002 - 20-2-thumb.jpg + s2020.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2020 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000003 - 20-1-thumb.jpg + s2020.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2020 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e000004 - 21-1-thumb.jpg + s2021.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2021 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s2021.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt new file mode 100644 index 00000000..043c9b2f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 +{output_directory}/Season 2020 + s2020.e000001 - 20-3-thumb.jpg + s2020.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2020 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000002 - 20-2-thumb.jpg + s2020.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2020 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000003 - 20-1-thumb.jpg + s2020.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2020 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e000004 - 21-1-thumb.jpg + s2021.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2021 + show: unit_kodi_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s2021.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt new file mode 100644 index 00000000..d109fe4f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt new file mode 100644 index 00000000..6d04d268 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt @@ -0,0 +1,92 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt new file mode 100644 index 00000000..e4485930 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt @@ -0,0 +1,173 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000006 - 20-6-thumb.jpg + s01.e000006 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 6 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000006 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 6 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000007 - 20-5-thumb.jpg + s01.e000007 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 7 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000007 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 7 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000008 - 20-4-thumb.jpg + s01.e000008 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 8 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000008 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 8 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt new file mode 100644 index 00000000..7fdb8943 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt @@ -0,0 +1,175 @@ +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: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000006 - 20-6-thumb.jpg + s01.e000006 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 6 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000006 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 6 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000007 - 20-5-thumb.jpg + s01.e000007 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 7 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000007 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 7 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000008 - 20-4-thumb.jpg + s01.e000008 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 8 + season_number: 1 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000008 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 8 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_kodi_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt new file mode 100644 index 00000000..81553de2 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.txt @@ -0,0 +1,47 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg +{output_directory}/Season 2020 + s2020.e000001 - 20-3-thumb.jpg + s2020.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000002 - 20-2-thumb.jpg + s2020.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000003 - 20-1-thumb.jpg + s2020.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e000004 - 21-1-thumb.jpg + s2021.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2021 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt new file mode 100644 index 00000000..885295cd --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg +{output_directory}/Season 2020 + s2020.e000001 - 20-3-thumb.jpg + s2020.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e000002 - 20-2-thumb.jpg + s2020.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e000003 - 20-1-thumb.jpg + s2020.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e000004 - 21-1-thumb.jpg + s2021.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2021 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_download_index_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt new file mode 100644 index 00000000..b294ad20 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_0.txt @@ -0,0 +1,46 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt new file mode 100644 index 00000000..741ce665 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_1/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt new file mode 100644 index 00000000..498a8b90 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_0.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg +{output_directory}/Season 01 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000006 - 20-6-thumb.jpg + s01.e000006 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 6 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000007 - 20-5-thumb.jpg + s01.e000007 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 7 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000008 - 20-4-thumb.jpg + s01.e000008 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 8 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt new file mode 100644 index 00000000..52f94850 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_download_index/s_2/is_yt_1.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000006 - 20-6-thumb.jpg + s01.e000006 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 6 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000007 - 20-5-thumb.jpg + s01.e000007 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 7 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000008 - 20-4-thumb.jpg + s01.e000008 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 8 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_download_index_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/unit/entries/conftest.py b/tests/unit/entries/conftest.py index 91411446..e3ccaedc 100644 --- a/tests/unit/entries/conftest.py +++ b/tests/unit/entries/conftest.py @@ -75,6 +75,8 @@ def mock_entry_to_dict( "uploader": "abc123", "uploader_id": "abc123", "uploader_url": "https://yourname.here", + "download_index": 1, + "download_index_padded6": "000001", "upload_date_index": 1, "upload_date_index_padded": "01", "upload_date_index_reversed": 99,