From aaf213095928e5508483c7b49697a8eec8133d6d Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Fri, 30 Sep 2022 15:54:38 -0700 Subject: [PATCH] better tests, need smaller ep numbers --- .../prebuilt_presets/tv_show/episode.yaml | 61 +++++++++++-- tests/expected_download.py | 1 + tests/expected_transaction_log.py | 2 + ...collection__episode_by_year_month_day.json | 24 +++++ ...ction__episode_by_year_month_day_hour.json | 24 +++++ ...isode_by_year_month_day_hour_reversed.json | 24 +++++ ...n__episode_by_year_month_day_reversed.json | 24 +++++ .../season_by_year__episode_by_month_day.json | 14 +++ ...on_by_year__episode_by_month_day_hour.json | 14 +++ ...r__episode_by_month_day_hour_reversed.json | 14 +++ ...y_year__episode_by_month_day_reversed.json | 14 +++ .../season_by_year_month__episode_by_day.json | 14 +++ ...on_by_year_month__episode_by_day_hour.json | 14 +++ .../season_by_year__episode_by_month_day.json | 15 ++++ ...on_by_year__episode_by_month_day_hour.json | 15 ++++ ...r__episode_by_month_day_hour_reversed.json | 15 ++++ ...y_year__episode_by_month_day_reversed.json | 15 ++++ .../season_by_year_month__episode_by_day.json | 15 ++++ ...on_by_year_month__episode_by_day_hour.json | 15 ++++ ...collection__episode_by_year_month_day.json | 24 +++++ ...ction__episode_by_year_month_day_hour.json | 24 +++++ ...isode_by_year_month_day_hour_reversed.json | 24 +++++ ...n__episode_by_year_month_day_reversed.json | 24 +++++ .../season_by_year__episode_by_month_day.json | 14 +++ ...on_by_year__episode_by_month_day_hour.json | 14 +++ ...r__episode_by_month_day_hour_reversed.json | 14 +++ ...y_year__episode_by_month_day_reversed.json | 14 +++ .../season_by_year_month__episode_by_day.json | 14 +++ ...on_by_year_month__episode_by_day_hour.json | 14 +++ .../season_by_year__episode_by_month_day.json | 15 ++++ ...on_by_year__episode_by_month_day_hour.json | 15 ++++ ...r__episode_by_month_day_hour_reversed.json | 15 ++++ ...y_year__episode_by_month_day_reversed.json | 15 ++++ .../season_by_year_month__episode_by_day.json | 15 ++++ ...on_by_year_month__episode_by_day_hour.json | 15 ++++ ..._collection__episode_by_year_month_day.txt | 87 +++++++++++++++++++ ...ection__episode_by_year_month_day_hour.txt | 87 +++++++++++++++++++ ...pisode_by_year_month_day_hour_reversed.txt | 87 +++++++++++++++++++ ...on__episode_by_year_month_day_reversed.txt | 87 +++++++++++++++++++ .../season_by_year__episode_by_month_day.txt | 44 ++++++++++ ...son_by_year__episode_by_month_day_hour.txt | 44 ++++++++++ ...ar__episode_by_month_day_hour_reversed.txt | 44 ++++++++++ ...by_year__episode_by_month_day_reversed.txt | 44 ++++++++++ .../season_by_year_month__episode_by_day.txt | 44 ++++++++++ ...son_by_year_month__episode_by_day_hour.txt | 44 ++++++++++ .../season_by_year__episode_by_month_day.txt | 45 ++++++++++ ...son_by_year__episode_by_month_day_hour.txt | 45 ++++++++++ ...ar__episode_by_month_day_hour_reversed.txt | 45 ++++++++++ ...by_year__episode_by_month_day_reversed.txt | 45 ++++++++++ .../season_by_year_month__episode_by_day.txt | 45 ++++++++++ ...son_by_year_month__episode_by_day_hour.txt | 45 ++++++++++ ..._collection__episode_by_year_month_day.txt | 87 +++++++++++++++++++ ...ection__episode_by_year_month_day_hour.txt | 87 +++++++++++++++++++ ...pisode_by_year_month_day_hour_reversed.txt | 87 +++++++++++++++++++ ...on__episode_by_year_month_day_reversed.txt | 87 +++++++++++++++++++ .../season_by_year__episode_by_month_day.txt | 44 ++++++++++ ...son_by_year__episode_by_month_day_hour.txt | 44 ++++++++++ ...ar__episode_by_month_day_hour_reversed.txt | 44 ++++++++++ ...by_year__episode_by_month_day_reversed.txt | 44 ++++++++++ .../season_by_year_month__episode_by_day.txt | 44 ++++++++++ ...son_by_year_month__episode_by_day_hour.txt | 44 ++++++++++ .../season_by_year__episode_by_month_day.txt | 45 ++++++++++ ...son_by_year__episode_by_month_day_hour.txt | 45 ++++++++++ ...ar__episode_by_month_day_hour_reversed.txt | 45 ++++++++++ ...by_year__episode_by_month_day_reversed.txt | 45 ++++++++++ .../season_by_year_month__episode_by_day.txt | 45 ++++++++++ ...son_by_year_month__episode_by_day_hour.txt | 45 ++++++++++ tests/unit/prebuilt_presets/conftest.py | 28 ++++-- .../prebuilt_presets/test_prebuilt_presets.py | 76 +++++++++------- 69 files changed, 2423 insertions(+), 49 deletions(-) create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.json create mode 100644 tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt create mode 100644 tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml index ec1a5797..2899c559 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml +++ b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml @@ -41,6 +41,16 @@ presets: season_number: "{upload_year}{upload_month_padded}" season_number_padded: "{season_number}" +#################################################################################################### + + episode_add_hour_granularity: + overrides: + episode_number_suffix: "{epoch_hour}{playlist_index_reversed_padded6}" + + episode_add_hour_granularity_reversed: + overrides: + episode_number_suffix: "{epoch_hour}{playlist_index_padded6}" + #################################################################################################### season_by_year_month__episode_by_day: @@ -67,6 +77,33 @@ presets: episode_number: "{upload_day_of_year_reversed}{episode_number_suffix}" episode_number_padded: "{upload_day_of_year_reversed_padded}{episode_number_suffix}" + season_by_year_month__episode_by_day_hour: + preset: + - "episode_base" + - "season_by_year_month" + - "episode_add_hour_granularity" + overrides: + episode_number: "{upload_day}" + episode_number_padded: "{upload_day_padded}" + + season_by_year__episode_by_month_day_hour: + preset: + - "episode_base" + - "season_by_year" + - "episode_add_hour_granularity" + overrides: + episode_number: "{upload_month}{upload_day_padded}{episode_number_suffix}" + episode_number_padded: "{upload_month_padded}{upload_day_padded}{episode_number_suffix}" + + season_by_year__episode_by_month_day_hour_reversed: + preset: + - "episode_base" + - "season_by_year" + - "episode_add_hour_granularity_reversed" + overrides: + episode_number: "{upload_day_of_year_reversed}{episode_number_suffix}" + episode_number_padded: "{upload_day_of_year_reversed_padded}{episode_number_suffix}" + season_by_collection__episode_by_year_month_day: preset: - "episode_base" @@ -81,12 +118,20 @@ presets: episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{episode_number_suffix}" episode_number_padded: "{episode_number}" + season_by_collection__episode_by_year_month_day_hour: + preset: + - "episode_base" + - "episode_add_hour_granularity" + overrides: + episode_number: "{upload_year_truncated}{upload_month_padded}{upload_day_padded}{episode_number_suffix}" + episode_number_padded: "{episode_number}" + + season_by_collection__episode_by_year_month_day_hour_reversed: + preset: + - "episode_base" + - "episode_add_hour_granularity_reversed" + overrides: + episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{episode_number_suffix}" + episode_number_padded: "{episode_number}" + #################################################################################################### - - episode_add_hour_granularity: - overrides: - episode_number_suffix: "{epoch_hour}{playlist_index_reversed_padded6}" - - episode_add_hour_granularity_reversed: - overrides: - episode_number_suffix: "{epoch_hour}{playlist_index_padded6}" diff --git a/tests/expected_download.py b/tests/expected_download.py index a2b9549e..e369bcfe 100644 --- a/tests/expected_download.py +++ b/tests/expected_download.py @@ -126,6 +126,7 @@ def assert_expected_downloads( summary_full_path = _EXPECTED_DOWNLOADS_SUMMARY_PATH / expected_download_summary_file_name if regenerate_expected_download_summary: + os.makedirs(os.path.dirname(summary_full_path), exist_ok=True) ExpectedDownloads.from_directory(directory_path=output_directory).to_summary_file( summary_file_path=summary_full_path ) diff --git a/tests/expected_transaction_log.py b/tests/expected_transaction_log.py index 252389a3..f581c22c 100644 --- a/tests/expected_transaction_log.py +++ b/tests/expected_transaction_log.py @@ -1,3 +1,4 @@ +import os from pathlib import Path from typing import List @@ -32,6 +33,7 @@ def assert_transaction_log_matches( # Write the expected summary file if regenerate is True if regenerate_transaction_log: + os.makedirs(os.path.dirname(transaction_log_path), exist_ok=True) with open(transaction_log_path, "w", encoding="utf-8") as summary_file: summary_file.write( transaction_log.to_output_message(output_directory="{output_directory}") diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.json new file mode 100644 index 00000000..c205e9c3 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "80be3ab6d3bd0cbacfdd4f0ca784d970", + "Test TV Show/Season 01/s01.e200808 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-1.nfo": "74976d1c2bcaf3aacf7e73f27a3607f2", + "Test TV Show/Season 01/s01.e200808 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-2.nfo": "9e3e4030e422f6cfeebd7a7707981c79", + "Test TV Show/Season 01/s01.e210808 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e210808 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e210808 - D.nfo": "01119d66ecb018fbd77fe3c8af137538", + "Test TV Show/Season 02/s02.e200808 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-1.nfo": "20e7444a3e7a63d1f355fef6c2be57c8", + "Test TV Show/Season 02/s02.e200808 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-2.nfo": "c928a6c6eb97a200574148067ae80a07", + "Test TV Show/Season 02/s02.e210808 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e210808 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e210808 - A.nfo": "d1acaef51d0449a83b1c8b45ce695926", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json new file mode 100644 index 00000000..3d0ad94d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "f72a2fd2a0816aac160d87b7dbf56d52", + "Test TV Show/Season 01/s01.e20080809000001 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000001 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000001 - E-2.nfo": "8bdb6a4e518001ad56617a532ec8f05d", + "Test TV Show/Season 01/s01.e20080809000002 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000002 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000002 - E-1.nfo": "860a1c1b71351c8cf78c2a2907068a0e", + "Test TV Show/Season 01/s01.e21080809000003 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e21080809000003 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e21080809000003 - D.nfo": "2e06aec5be176f19a9fe3eb9ad3d65f1", + "Test TV Show/Season 02/s02.e20080809000001 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000001 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000001 - B-2.nfo": "ef95c1a0a84757ced845291454aa4b35", + "Test TV Show/Season 02/s02.e20080809000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000002 - B-1.nfo": "e813ed49ae5686e75d8d93e9dcd47500", + "Test TV Show/Season 02/s02.e21080809000003 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e21080809000003 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e21080809000003 - A.nfo": "0b8b19741fb9326ca460839f571ffde3", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json new file mode 100644 index 00000000..33e7bc8c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "ba1bb7281a8db29e88eb16ea3f9ecad3", + "Test TV Show/Season 01/s01.e79052409000002 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e79052409000002 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e79052409000002 - D.nfo": "7cd6872f2e06d3f3288802b5da27eef5", + "Test TV Show/Season 01/s01.e80052409000003 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000003 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000003 - E-1.nfo": "f93a38d9d159d3dffb63ef7a85116557", + "Test TV Show/Season 01/s01.e80052409000004 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000004 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000004 - E-2.nfo": "690055f3ca007f0347fbae8804b830e3", + "Test TV Show/Season 02/s02.e79052409000001 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e79052409000001 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e79052409000001 - A.nfo": "4024923a7509ce2ca145fb88aee5db44", + "Test TV Show/Season 02/s02.e80052409000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000002 - B-1.nfo": "7e1c2bc6fa905166eae92ce5ca19a3d1", + "Test TV Show/Season 02/s02.e80052409000003 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000003 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000003 - B-2.nfo": "cc7b497220b8a85b09cc660f8876a9fb", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json new file mode 100644 index 00000000..1401688a --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "bb870154a6f5b7b70c421bb1e79103ad", + "Test TV Show/Season 01/s01.e790524 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e790524 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e790524 - D.nfo": "3b876304a748c2a7039b4b2ef54da742", + "Test TV Show/Season 01/s01.e800524 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-1.nfo": "27638031d4490a142459bc33b7647d88", + "Test TV Show/Season 01/s01.e800524 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-2.nfo": "f94e9cda1626900a03582c1ab6488077", + "Test TV Show/Season 02/s02.e790524 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e790524 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e790524 - A.nfo": "13c044376be9efc5e415c73c0e8ea78a", + "Test TV Show/Season 02/s02.e800524 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-1.nfo": "abac721066ad39c29e5a3f1a4c9f4cdd", + "Test TV Show/Season 02/s02.e800524 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-2.nfo": "407ba290c40d99410316f5b623ea5488", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.json new file mode 100644 index 00000000..d4380eec --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "8aee5da3cf2fffd8d1d0e440514476c1", + "test tv show/Season 2020/s2020.e0808 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.nfo": "7b7a9f2b30cfd2bc9e9569801975df37", + "test tv show/Season 2020/s2020.e0808 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.nfo": "9b8ff13aca3e7fa5c4383f634f138f5c", + "test tv show/Season 2021/s2021.e0808 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.nfo": "1785c982b729bd6a093a202395b6a56d", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.json new file mode 100644 index 00000000..492ecb0c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "965665cfb8013ad44a17b1e577e4e98e", + "test tv show/Season 2020/s2020.e080809000001 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.nfo": "26e98c5dca38b7c62a2c0b302db8231a", + "test tv show/Season 2020/s2020.e080809000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.nfo": "2431ebb3faa0e1decf27bc601aa7a83f", + "test tv show/Season 2021/s2021.e080809000003 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.nfo": "9df404e10517e7ae477b1438f1d6a44c", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json new file mode 100644 index 00000000..5715f4e5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "cbb0146ab69cfab5e62baeeda337c32c", + "test tv show/Season 2020/s2020.e14609000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.nfo": "0ef98704ae4cf343ff6ef362545aa8fe", + "test tv show/Season 2020/s2020.e14609000003 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.nfo": "f20e2101d214cadd098092ceb4978b72", + "test tv show/Season 2021/s2021.e14609000001 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.nfo": "be9ebc80b8a425f0aaf3e124fcf1cea6", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.json new file mode 100644 index 00000000..b3ef57ef --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "0b8bbb2e2d98465b896ddf87b67f2164", + "test tv show/Season 2020/s2020.e146 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.nfo": "23b35c2c09289d0afd5824c4bfed5f68", + "test tv show/Season 2020/s2020.e146 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.nfo": "e457f6a262559547676c670d6213864f", + "test tv show/Season 2021/s2021.e146 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.nfo": "96bdf14b878edb33e91818fc86a732b5", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.json new file mode 100644 index 00000000..e404018d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.json new file mode 100644 index 00000000..e404018d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.json new file mode 100644 index 00000000..c25551cb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "8aee5da3cf2fffd8d1d0e440514476c1", + "test tv show/Season 2020/s2020.e0808 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.nfo": "7b7a9f2b30cfd2bc9e9569801975df37", + "test tv show/Season 2020/s2020.e0808 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.nfo": "9b8ff13aca3e7fa5c4383f634f138f5c", + "test tv show/Season 2021/s2021.e0808 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.nfo": "1785c982b729bd6a093a202395b6a56d", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json new file mode 100644 index 00000000..deabcc79 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "965665cfb8013ad44a17b1e577e4e98e", + "test tv show/Season 2020/s2020.e080809000001 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.nfo": "26e98c5dca38b7c62a2c0b302db8231a", + "test tv show/Season 2020/s2020.e080809000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.nfo": "2431ebb3faa0e1decf27bc601aa7a83f", + "test tv show/Season 2021/s2021.e080809000003 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.nfo": "9df404e10517e7ae477b1438f1d6a44c", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json new file mode 100644 index 00000000..b4c9bc31 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "cbb0146ab69cfab5e62baeeda337c32c", + "test tv show/Season 2020/s2020.e14609000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.nfo": "0ef98704ae4cf343ff6ef362545aa8fe", + "test tv show/Season 2020/s2020.e14609000003 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.nfo": "f20e2101d214cadd098092ceb4978b72", + "test tv show/Season 2021/s2021.e14609000001 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.nfo": "be9ebc80b8a425f0aaf3e124fcf1cea6", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json new file mode 100644 index 00000000..c159b18d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "0b8bbb2e2d98465b896ddf87b67f2164", + "test tv show/Season 2020/s2020.e146 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.nfo": "23b35c2c09289d0afd5824c4bfed5f68", + "test tv show/Season 2020/s2020.e146 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.nfo": "e457f6a262559547676c670d6213864f", + "test tv show/Season 2021/s2021.e146 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.nfo": "96bdf14b878edb33e91818fc86a732b5", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.json new file mode 100644 index 00000000..aa37e3ab --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json new file mode 100644 index 00000000..aa37e3ab --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.json new file mode 100644 index 00000000..c205e9c3 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "80be3ab6d3bd0cbacfdd4f0ca784d970", + "Test TV Show/Season 01/s01.e200808 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-1.nfo": "74976d1c2bcaf3aacf7e73f27a3607f2", + "Test TV Show/Season 01/s01.e200808 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e200808 - E-2.nfo": "9e3e4030e422f6cfeebd7a7707981c79", + "Test TV Show/Season 01/s01.e210808 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e210808 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e210808 - D.nfo": "01119d66ecb018fbd77fe3c8af137538", + "Test TV Show/Season 02/s02.e200808 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-1.nfo": "20e7444a3e7a63d1f355fef6c2be57c8", + "Test TV Show/Season 02/s02.e200808 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e200808 - B-2.nfo": "c928a6c6eb97a200574148067ae80a07", + "Test TV Show/Season 02/s02.e210808 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e210808 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e210808 - A.nfo": "d1acaef51d0449a83b1c8b45ce695926", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json new file mode 100644 index 00000000..3d0ad94d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "f72a2fd2a0816aac160d87b7dbf56d52", + "Test TV Show/Season 01/s01.e20080809000001 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000001 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000001 - E-2.nfo": "8bdb6a4e518001ad56617a532ec8f05d", + "Test TV Show/Season 01/s01.e20080809000002 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000002 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e20080809000002 - E-1.nfo": "860a1c1b71351c8cf78c2a2907068a0e", + "Test TV Show/Season 01/s01.e21080809000003 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e21080809000003 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e21080809000003 - D.nfo": "2e06aec5be176f19a9fe3eb9ad3d65f1", + "Test TV Show/Season 02/s02.e20080809000001 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000001 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000001 - B-2.nfo": "ef95c1a0a84757ced845291454aa4b35", + "Test TV Show/Season 02/s02.e20080809000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e20080809000002 - B-1.nfo": "e813ed49ae5686e75d8d93e9dcd47500", + "Test TV Show/Season 02/s02.e21080809000003 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e21080809000003 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e21080809000003 - A.nfo": "0b8b19741fb9326ca460839f571ffde3", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json new file mode 100644 index 00000000..33e7bc8c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "ba1bb7281a8db29e88eb16ea3f9ecad3", + "Test TV Show/Season 01/s01.e79052409000002 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e79052409000002 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e79052409000002 - D.nfo": "7cd6872f2e06d3f3288802b5da27eef5", + "Test TV Show/Season 01/s01.e80052409000003 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000003 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000003 - E-1.nfo": "f93a38d9d159d3dffb63ef7a85116557", + "Test TV Show/Season 01/s01.e80052409000004 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000004 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e80052409000004 - E-2.nfo": "690055f3ca007f0347fbae8804b830e3", + "Test TV Show/Season 02/s02.e79052409000001 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e79052409000001 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e79052409000001 - A.nfo": "4024923a7509ce2ca145fb88aee5db44", + "Test TV Show/Season 02/s02.e80052409000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000002 - B-1.nfo": "7e1c2bc6fa905166eae92ce5ca19a3d1", + "Test TV Show/Season 02/s02.e80052409000003 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000003 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e80052409000003 - B-2.nfo": "cc7b497220b8a85b09cc660f8876a9fb", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json new file mode 100644 index 00000000..1401688a --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.json @@ -0,0 +1,24 @@ +{ + "Test TV Show/.ytdl-sub-subscription_test-download-archive.json": "bb870154a6f5b7b70c421bb1e79103ad", + "Test TV Show/Season 01/s01.e790524 - D-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e790524 - D.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e790524 - D.nfo": "3b876304a748c2a7039b4b2ef54da742", + "Test TV Show/Season 01/s01.e800524 - E-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-1.nfo": "27638031d4490a142459bc33b7647d88", + "Test TV Show/Season 01/s01.e800524 - E-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 01/s01.e800524 - E-2.nfo": "f94e9cda1626900a03582c1ab6488077", + "Test TV Show/Season 02/s02.e790524 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e790524 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e790524 - A.nfo": "13c044376be9efc5e415c73c0e8ea78a", + "Test TV Show/Season 02/s02.e800524 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-1.nfo": "abac721066ad39c29e5a3f1a4c9f4cdd", + "Test TV Show/Season 02/s02.e800524 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/Season 02/s02.e800524 - B-2.nfo": "407ba290c40d99410316f5b623ea5488", + "Test TV Show/season01-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/season02-poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "Test TV Show/tvshow.nfo": "0a5338302fb9064f01bea610fd614f9f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.json new file mode 100644 index 00000000..d4380eec --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "8aee5da3cf2fffd8d1d0e440514476c1", + "test tv show/Season 2020/s2020.e0808 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.nfo": "7b7a9f2b30cfd2bc9e9569801975df37", + "test tv show/Season 2020/s2020.e0808 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.nfo": "9b8ff13aca3e7fa5c4383f634f138f5c", + "test tv show/Season 2021/s2021.e0808 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.nfo": "1785c982b729bd6a093a202395b6a56d", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.json new file mode 100644 index 00000000..492ecb0c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "965665cfb8013ad44a17b1e577e4e98e", + "test tv show/Season 2020/s2020.e080809000001 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.nfo": "26e98c5dca38b7c62a2c0b302db8231a", + "test tv show/Season 2020/s2020.e080809000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.nfo": "2431ebb3faa0e1decf27bc601aa7a83f", + "test tv show/Season 2021/s2021.e080809000003 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.nfo": "9df404e10517e7ae477b1438f1d6a44c", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json new file mode 100644 index 00000000..5715f4e5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "cbb0146ab69cfab5e62baeeda337c32c", + "test tv show/Season 2020/s2020.e14609000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.nfo": "0ef98704ae4cf343ff6ef362545aa8fe", + "test tv show/Season 2020/s2020.e14609000003 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.nfo": "f20e2101d214cadd098092ceb4978b72", + "test tv show/Season 2021/s2021.e14609000001 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.nfo": "be9ebc80b8a425f0aaf3e124fcf1cea6", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.json new file mode 100644 index 00000000..b3ef57ef --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "0b8bbb2e2d98465b896ddf87b67f2164", + "test tv show/Season 2020/s2020.e146 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.nfo": "23b35c2c09289d0afd5824c4bfed5f68", + "test tv show/Season 2020/s2020.e146 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.nfo": "e457f6a262559547676c670d6213864f", + "test tv show/Season 2021/s2021.e146 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.nfo": "96bdf14b878edb33e91818fc86a732b5", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.json new file mode 100644 index 00000000..e404018d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.json new file mode 100644 index 00000000..e404018d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.json @@ -0,0 +1,14 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.json new file mode 100644 index 00000000..c25551cb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "8aee5da3cf2fffd8d1d0e440514476c1", + "test tv show/Season 2020/s2020.e0808 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-1.nfo": "7b7a9f2b30cfd2bc9e9569801975df37", + "test tv show/Season 2020/s2020.e0808 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e0808 - B-2.nfo": "9b8ff13aca3e7fa5c4383f634f138f5c", + "test tv show/Season 2021/s2021.e0808 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e0808 - A.nfo": "1785c982b729bd6a093a202395b6a56d", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json new file mode 100644 index 00000000..deabcc79 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "965665cfb8013ad44a17b1e577e4e98e", + "test tv show/Season 2020/s2020.e080809000001 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000001 - B-2.nfo": "26e98c5dca38b7c62a2c0b302db8231a", + "test tv show/Season 2020/s2020.e080809000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e080809000002 - B-1.nfo": "2431ebb3faa0e1decf27bc601aa7a83f", + "test tv show/Season 2021/s2021.e080809000003 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e080809000003 - A.nfo": "9df404e10517e7ae477b1438f1d6a44c", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json new file mode 100644 index 00000000..b4c9bc31 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "cbb0146ab69cfab5e62baeeda337c32c", + "test tv show/Season 2020/s2020.e14609000002 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000002 - B-1.nfo": "0ef98704ae4cf343ff6ef362545aa8fe", + "test tv show/Season 2020/s2020.e14609000003 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e14609000003 - B-2.nfo": "f20e2101d214cadd098092ceb4978b72", + "test tv show/Season 2021/s2021.e14609000001 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e14609000001 - A.nfo": "be9ebc80b8a425f0aaf3e124fcf1cea6", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json new file mode 100644 index 00000000..c159b18d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "0b8bbb2e2d98465b896ddf87b67f2164", + "test tv show/Season 2020/s2020.e146 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-1.nfo": "23b35c2c09289d0afd5824c4bfed5f68", + "test tv show/Season 2020/s2020.e146 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2020/s2020.e146 - B-2.nfo": "e457f6a262559547676c670d6213864f", + "test tv show/Season 2021/s2021.e146 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 2021/s2021.e146 - A.nfo": "96bdf14b878edb33e91818fc86a732b5", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.json new file mode 100644 index 00000000..aa37e3ab --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json new file mode 100644 index 00000000..aa37e3ab --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.json @@ -0,0 +1,15 @@ +{ + "test tv show/.ytdl-sub-subscription_test-download-archive.json": "ea06d0fdfb83ca71ec34c670cf3f6b87", + "test tv show/Season 202008/s202008.e08 - B-1-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-1.nfo": "39acb820192a306ee88327b137e0eb9f", + "test tv show/Season 202008/s202008.e08 - B-2-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202008/s202008.e08 - B-2.nfo": "d60b43039d94844d3db698a3e40537cc", + "test tv show/Season 202108/s202108.e08 - A-thumb.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.mp4": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/Season 202108/s202108.e08 - A.nfo": "e1bf80c372c08c5a724ca2a6a0603d26", + "test tv show/fanart.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/poster.jpg": "d41d8cd98f00b204e9800998ecf8427e", + "test tv show/tvshow.nfo": "6f072409db36baab7e6f13616651b887" +} \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.txt new file mode 100644 index 00000000..6a8c64b6 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e200808 - E-1-thumb.jpg + s01.e200808 - E-1.mp4 + s01.e200808 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e200808 - E-2-thumb.jpg + s01.e200808 - E-2.mp4 + s01.e200808 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 + s01.e210808 - D-thumb.jpg + s01.e210808 - D.mp4 + s01.e210808 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 210808 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 +{output_directory}/Season 02 + s02.e200808 - B-1-thumb.jpg + s02.e200808 - B-1.mp4 + s02.e200808 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e200808 - B-2-thumb.jpg + s02.e200808 - B-2.mp4 + s02.e200808 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s02.e210808 - A-thumb.jpg + s02.e210808 - A.mp4 + s02.e210808 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 210808 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + 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_year_month_day_hour.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.txt new file mode 100644 index 00000000..922d7b38 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e20080809000001 - E-2-thumb.jpg + s01.e20080809000001 - E-2.mp4 + s01.e20080809000001 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000001 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 + s01.e20080809000002 - E-1-thumb.jpg + s01.e20080809000002 - E-1.mp4 + s01.e20080809000002 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000002 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e21080809000003 - D-thumb.jpg + s01.e21080809000003 - D.mp4 + s01.e21080809000003 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080809000003 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 +{output_directory}/Season 02 + s02.e20080809000001 - B-2-thumb.jpg + s02.e20080809000001 - B-2.mp4 + s02.e20080809000001 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000001 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s02.e20080809000002 - B-1-thumb.jpg + s02.e20080809000002 - B-1.mp4 + s02.e20080809000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000002 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e21080809000003 - A-thumb.jpg + s02.e21080809000003 - A.mp4 + s02.e21080809000003 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080809000003 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + 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_year_month_day_hour_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.txt new file mode 100644 index 00000000..2c2d7595 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e79052409000002 - D-thumb.jpg + s01.e79052409000002 - D.mp4 + s01.e79052409000002 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052409000002 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 + s01.e80052409000003 - E-1-thumb.jpg + s01.e80052409000003 - E-1.mp4 + s01.e80052409000003 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000003 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e80052409000004 - E-2-thumb.jpg + s01.e80052409000004 - E-2.mp4 + s01.e80052409000004 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000004 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 +{output_directory}/Season 02 + s02.e79052409000001 - A-thumb.jpg + s02.e79052409000001 - A.mp4 + s02.e79052409000001 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052409000001 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + year: 2021 + s02.e80052409000002 - B-1-thumb.jpg + s02.e80052409000002 - B-1.mp4 + s02.e80052409000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000002 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e80052409000003 - B-2-thumb.jpg + s02.e80052409000003 - B-2.mp4 + s02.e80052409000003 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000003 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt new file mode 100644 index 00000000..4e6d8d08 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e790524 - D-thumb.jpg + s01.e790524 - D.mp4 + s01.e790524 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 790524 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 + s01.e800524 - E-1-thumb.jpg + s01.e800524 - E-1.mp4 + s01.e800524 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e800524 - E-2-thumb.jpg + s01.e800524 - E-2.mp4 + s01.e800524 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 +{output_directory}/Season 02 + s02.e790524 - A-thumb.jpg + s02.e790524 - A.mp4 + s02.e790524 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 790524 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + year: 2021 + s02.e800524 - B-1-thumb.jpg + s02.e800524 - B-1.mp4 + s02.e800524 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e800524 - B-2-thumb.jpg + s02.e800524 - B-2.mp4 + s02.e800524 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.txt new file mode 100644 index 00000000..ede9dd17 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e0808 - B-1-thumb.jpg + s2020.e0808 - B-1.mp4 + s2020.e0808 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e0808 - B-2-thumb.jpg + s2020.e0808 - B-2.mp4 + s2020.e0808 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e0808 - A-thumb.jpg + s2021.e0808 - A.mp4 + s2021.e0808 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.txt new file mode 100644 index 00000000..21a7ee17 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e080809000001 - B-2-thumb.jpg + s2020.e080809000001 - B-2.mp4 + s2020.e080809000001 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000001 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s2020.e080809000002 - B-1-thumb.jpg + s2020.e080809000002 - B-1.mp4 + s2020.e080809000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080809000003 - A-thumb.jpg + s2021.e080809000003 - A.mp4 + s2021.e080809000003 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 80809000003 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt new file mode 100644 index 00000000..0c1de1e1 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e14609000002 - B-1-thumb.jpg + s2020.e14609000002 - B-1.mp4 + s2020.e14609000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e14609000003 - B-2-thumb.jpg + s2020.e14609000003 - B-2.mp4 + s2020.e14609000003 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000003 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e14609000001 - A-thumb.jpg + s2021.e14609000001 - A.mp4 + s2021.e14609000001 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14609000001 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.txt new file mode 100644 index 00000000..32410142 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year__episode_by_month_day_reversed.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e146 - B-1-thumb.jpg + s2020.e146 - B-1.mp4 + s2020.e146 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e146 - B-2-thumb.jpg + s2020.e146 - B-2.mp4 + s2020.e146 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e146 - A-thumb.jpg + s2021.e146 - A.mp4 + s2021.e146 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 146 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.txt new file mode 100644 index 00000000..a80a338f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.txt new file mode 100644 index 00000000..a80a338f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_url/season_by_year_month__episode_by_day_hour.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt new file mode 100644 index 00000000..ad7362b5 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e0808 - B-1-thumb.jpg + s2020.e0808 - B-1.mp4 + s2020.e0808 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e0808 - B-2-thumb.jpg + s2020.e0808 - B-2.mp4 + s2020.e0808 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e0808 - A-thumb.jpg + s2021.e0808 - A.mp4 + s2021.e0808 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt new file mode 100644 index 00000000..b260aa9b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e080809000001 - B-2-thumb.jpg + s2020.e080809000001 - B-2.mp4 + s2020.e080809000001 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000001 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s2020.e080809000002 - B-1-thumb.jpg + s2020.e080809000002 - B-1.mp4 + s2020.e080809000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080809000003 - A-thumb.jpg + s2021.e080809000003 - A.mp4 + s2021.e080809000003 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 80809000003 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt new file mode 100644 index 00000000..0923057e --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e14609000002 - B-1-thumb.jpg + s2020.e14609000002 - B-1.mp4 + s2020.e14609000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e14609000003 - B-2-thumb.jpg + s2020.e14609000003 - B-2.mp4 + s2020.e14609000003 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000003 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e14609000001 - A-thumb.jpg + s2021.e14609000001 - A.mp4 + s2021.e14609000001 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14609000001 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt new file mode 100644 index 00000000..8d658241 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e146 - B-1-thumb.jpg + s2020.e146 - B-1.mp4 + s2020.e146 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e146 - B-2-thumb.jpg + s2020.e146 - B-2.mp4 + s2020.e146 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e146 - A-thumb.jpg + s2021.e146 - A.mp4 + s2021.e146 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 146 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt new file mode 100644 index 00000000..021acb8f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt new file mode 100644 index 00000000..021acb8f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + 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_year_month_day.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.txt new file mode 100644 index 00000000..6a8c64b6 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e200808 - E-1-thumb.jpg + s01.e200808 - E-1.mp4 + s01.e200808 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e200808 - E-2-thumb.jpg + s01.e200808 - E-2.mp4 + s01.e200808 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 + s01.e210808 - D-thumb.jpg + s01.e210808 - D.mp4 + s01.e210808 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 210808 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 +{output_directory}/Season 02 + s02.e200808 - B-1-thumb.jpg + s02.e200808 - B-1.mp4 + s02.e200808 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e200808 - B-2-thumb.jpg + s02.e200808 - B-2.mp4 + s02.e200808 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 200808 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s02.e210808 - A-thumb.jpg + s02.e210808 - A.mp4 + s02.e210808 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 210808 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + 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_year_month_day_hour.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.txt new file mode 100644 index 00000000..922d7b38 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e20080809000001 - E-2-thumb.jpg + s01.e20080809000001 - E-2.mp4 + s01.e20080809000001 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000001 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 + s01.e20080809000002 - E-1-thumb.jpg + s01.e20080809000002 - E-1.mp4 + s01.e20080809000002 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000002 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e21080809000003 - D-thumb.jpg + s01.e21080809000003 - D.mp4 + s01.e21080809000003 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080809000003 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 +{output_directory}/Season 02 + s02.e20080809000001 - B-2-thumb.jpg + s02.e20080809000001 - B-2.mp4 + s02.e20080809000001 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000001 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s02.e20080809000002 - B-1-thumb.jpg + s02.e20080809000002 - B-1.mp4 + s02.e20080809000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080809000002 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e21080809000003 - A-thumb.jpg + s02.e21080809000003 - A.mp4 + s02.e21080809000003 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080809000003 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + 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_year_month_day_hour_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.txt new file mode 100644 index 00000000..2c2d7595 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_hour_reversed.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e79052409000002 - D-thumb.jpg + s01.e79052409000002 - D.mp4 + s01.e79052409000002 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052409000002 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 + s01.e80052409000003 - E-1-thumb.jpg + s01.e80052409000003 - E-1.mp4 + s01.e80052409000003 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000003 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e80052409000004 - E-2-thumb.jpg + s01.e80052409000004 - E-2.mp4 + s01.e80052409000004 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000004 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 +{output_directory}/Season 02 + s02.e79052409000001 - A-thumb.jpg + s02.e79052409000001 - A.mp4 + s02.e79052409000001 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052409000001 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + year: 2021 + s02.e80052409000002 - B-1-thumb.jpg + s02.e80052409000002 - B-1.mp4 + s02.e80052409000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000002 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e80052409000003 - B-2-thumb.jpg + s02.e80052409000003 - B-2.mp4 + s02.e80052409000003 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052409000003 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt new file mode 100644 index 00000000..4e6d8d08 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed.txt @@ -0,0 +1,87 @@ +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: Season 1 + - + attributes: + number: 2 + tag: Season 2 + title: Test TV Show +{output_directory}/Season 01 + s01.e790524 - D-thumb.jpg + s01.e790524 - D.mp4 + s01.e790524 - D.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 790524 + plot: https://D.com + season: 1 + title: 2021-08-08 - Mock Entry D + year: 2021 + s01.e800524 - E-1-thumb.jpg + s01.e800524 - E-1.mp4 + s01.e800524 - E-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://E-1.com + season: 1 + title: 2020-08-08 - Mock Entry E-1 + year: 2020 + s01.e800524 - E-2-thumb.jpg + s01.e800524 - E-2.mp4 + s01.e800524 - E-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://E-2.com + season: 1 + title: 2020-08-08 - Mock Entry E-2 + year: 2020 +{output_directory}/Season 02 + s02.e790524 - A-thumb.jpg + s02.e790524 - A.mp4 + s02.e790524 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 790524 + plot: https://A.com + season: 2 + title: 2021-08-08 - Mock Entry A + year: 2021 + s02.e800524 - B-1-thumb.jpg + s02.e800524 - B-1.mp4 + s02.e800524 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://B-1.com + season: 2 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s02.e800524 - B-2-thumb.jpg + s02.e800524 - B-2.mp4 + s02.e800524 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 800524 + plot: https://B-2.com + season: 2 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.txt new file mode 100644 index 00000000..ede9dd17 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e0808 - B-1-thumb.jpg + s2020.e0808 - B-1.mp4 + s2020.e0808 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e0808 - B-2-thumb.jpg + s2020.e0808 - B-2.mp4 + s2020.e0808 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e0808 - A-thumb.jpg + s2021.e0808 - A.mp4 + s2021.e0808 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.txt new file mode 100644 index 00000000..21a7ee17 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e080809000001 - B-2-thumb.jpg + s2020.e080809000001 - B-2.mp4 + s2020.e080809000001 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000001 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s2020.e080809000002 - B-1-thumb.jpg + s2020.e080809000002 - B-1.mp4 + s2020.e080809000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080809000003 - A-thumb.jpg + s2021.e080809000003 - A.mp4 + s2021.e080809000003 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 80809000003 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt new file mode 100644 index 00000000..0c1de1e1 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_hour_reversed.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e14609000002 - B-1-thumb.jpg + s2020.e14609000002 - B-1.mp4 + s2020.e14609000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e14609000003 - B-2-thumb.jpg + s2020.e14609000003 - B-2.mp4 + s2020.e14609000003 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000003 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e14609000001 - A-thumb.jpg + s2021.e14609000001 - A.mp4 + s2021.e14609000001 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14609000001 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.txt new file mode 100644 index 00000000..32410142 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year__episode_by_month_day_reversed.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e146 - B-1-thumb.jpg + s2020.e146 - B-1.mp4 + s2020.e146 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e146 - B-2-thumb.jpg + s2020.e146 - B-2.mp4 + s2020.e146 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e146 - A-thumb.jpg + s2021.e146 - A.mp4 + s2021.e146 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 146 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.txt new file mode 100644 index 00000000..a80a338f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.txt new file mode 100644 index 00000000..a80a338f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_url/season_by_year_month__episode_by_day_hour.txt @@ -0,0 +1,44 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt new file mode 100644 index 00000000..ad7362b5 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e0808 - B-1-thumb.jpg + s2020.e0808 - B-1.mp4 + s2020.e0808 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e0808 - B-2-thumb.jpg + s2020.e0808 - B-2.mp4 + s2020.e0808 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e0808 - A-thumb.jpg + s2021.e0808 - A.mp4 + s2021.e0808 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt new file mode 100644 index 00000000..b260aa9b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e080809000001 - B-2-thumb.jpg + s2020.e080809000001 - B-2.mp4 + s2020.e080809000001 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000001 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 + s2020.e080809000002 - B-1-thumb.jpg + s2020.e080809000002 - B-1.mp4 + s2020.e080809000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80809000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080809000003 - A-thumb.jpg + s2021.e080809000003 - A.mp4 + s2021.e080809000003 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 80809000003 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt new file mode 100644 index 00000000..0923057e --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_hour_reversed.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e14609000002 - B-1-thumb.jpg + s2020.e14609000002 - B-1.mp4 + s2020.e14609000002 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000002 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e14609000003 - B-2-thumb.jpg + s2020.e14609000003 - B-2.mp4 + s2020.e14609000003 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14609000003 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e14609000001 - A-thumb.jpg + s2021.e14609000001 - A.mp4 + s2021.e14609000001 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14609000001 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt new file mode 100644 index 00000000..8d658241 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year__episode_by_month_day_reversed.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 2020 + s2020.e146 - B-1-thumb.jpg + s2020.e146 - B-1.mp4 + s2020.e146 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-1.com + season: 2020 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s2020.e146 - B-2-thumb.jpg + s2020.e146 - B-2.mp4 + s2020.e146 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 146 + plot: https://B-2.com + season: 2020 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 2021 + s2021.e146 - A-thumb.jpg + s2021.e146 - A.mp4 + s2021.e146 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 146 + plot: https://A.com + season: 2021 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt new file mode 100644 index 00000000..021acb8f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt new file mode 100644 index 00000000..021acb8f --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_youtube_channel/season_by_year_month__episode_by_day_hour.txt @@ -0,0 +1,45 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: test tv show +{output_directory}/Season 202008 + s202008.e08 - B-1-thumb.jpg + s202008.e08 - B-1.mp4 + s202008.e08 - B-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-1.com + season: 202008 + title: 2020-08-08 - Mock Entry B-1 + year: 2020 + s202008.e08 - B-2-thumb.jpg + s202008.e08 - B-2.mp4 + s202008.e08 - B-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://B-2.com + season: 202008 + title: 2020-08-08 - Mock Entry B-2 + year: 2020 +{output_directory}/Season 202108 + s202108.e08 - A-thumb.jpg + s202108.e08 - A.mp4 + s202108.e08 - A.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://A.com + season: 202108 + title: 2021-08-08 - Mock Entry A + year: 2021 \ No newline at end of file diff --git a/tests/unit/prebuilt_presets/conftest.py b/tests/unit/prebuilt_presets/conftest.py index 017b8fa3..f0461b46 100644 --- a/tests/unit/prebuilt_presets/conftest.py +++ b/tests/unit/prebuilt_presets/conftest.py @@ -12,6 +12,7 @@ from ytdl_sub.downloaders.downloader import Downloader from ytdl_sub.entries.variables.kwargs import EPOCH from ytdl_sub.entries.variables.kwargs import EXT from ytdl_sub.entries.variables.kwargs import EXTRACTOR +from ytdl_sub.entries.variables.kwargs import PLAYLIST_COUNT from ytdl_sub.entries.variables.kwargs import PLAYLIST_ENTRY from ytdl_sub.entries.variables.kwargs import PLAYLIST_INDEX from ytdl_sub.entries.variables.kwargs import TITLE @@ -46,6 +47,7 @@ def config(working_directory) -> ConfigFile: value={"configuration": {"working_directory": working_directory}, "presets": {}}, ) + @pytest.fixture def mock_file_factory(working_directory: str, subscription_name: str): def _mock_file_factory(file_name: str): @@ -57,11 +59,14 @@ def mock_file_factory(working_directory: str, subscription_name: str): @pytest.fixture def mock_entry_dict_factory(mock_file_factory) -> Callable: - def _mock_entry_dict_factory(uid: int, upload_date: str, playlist_index: int = 1) -> Dict: + def _mock_entry_dict_factory( + uid: int, upload_date: str, playlist_index: int = 1, playlist_count: int = 1 + ) -> Dict: entry_dict = { UID: uid, EPOCH: 1596878400, PLAYLIST_INDEX: playlist_index, + PLAYLIST_COUNT: playlist_count, EXTRACTOR: "mock-entry-dict", TITLE: f"Mock Entry {uid}", EXT: "mp4", @@ -91,9 +96,9 @@ def mock_entry_dict_factory(mock_file_factory) -> Callable: @pytest.fixture def mock_download_collection_thumbnail(mock_file_factory): - def _mock_download_thumbnail(output_path: str): + def _mock_download_thumbnail(output_path: str) -> bool: mock_file_factory(file_name=output_path.split("/")[-1]) - pass + return True with patch.object( Downloader, @@ -109,15 +114,20 @@ def mock_download_collection_thumbnail(mock_file_factory): def mock_download_collection_entries( mock_download_collection_thumbnail, mock_entry_dict_factory: Callable, working_directory: str ): + def _(**kwargs): + return mock_entry_dict_factory(**kwargs) + collection_1_entry_dicts = [ - mock_entry_dict_factory(uid=1, upload_date="20200808", playlist_index=1), - mock_entry_dict_factory(uid=2, upload_date="20200808", playlist_index=2), - mock_entry_dict_factory(uid=3, upload_date="20210808", playlist_index=3), + _(uid="A", upload_date="20210808", playlist_index=1, playlist_count=3), + _(uid="B-1", upload_date="20200808", playlist_index=2, playlist_count=3), + _(uid="B-2", upload_date="20200808", playlist_index=3, playlist_count=3), ] collection_2_entry_dicts = [ - mock_entry_dict_factory(uid=4, upload_date="20200808", playlist_index=1), - mock_entry_dict_factory(uid=5, upload_date="20200808", playlist_index=2), - mock_entry_dict_factory(uid=6, upload_date="20210808", playlist_index=3), + # A should resolve to collection 1 (which is season 2) + _(uid="A", upload_date="20210808", playlist_index=1, playlist_count=4), + _(uid="D", upload_date="20210808", playlist_index=2, playlist_count=4), + _(uid="E-1", upload_date="20200808", playlist_index=3, playlist_count=4), + _(uid="E-2", upload_date="20200808", playlist_index=4, playlist_count=4), ] with patch.object( diff --git a/tests/unit/prebuilt_presets/test_prebuilt_presets.py b/tests/unit/prebuilt_presets/test_prebuilt_presets.py index 5f19a2bc..6c1ab182 100644 --- a/tests/unit/prebuilt_presets/test_prebuilt_presets.py +++ b/tests/unit/prebuilt_presets/test_prebuilt_presets.py @@ -2,9 +2,9 @@ from typing import Dict from typing import List import pytest +from expected_download import assert_expected_downloads +from expected_transaction_log import assert_transaction_log_matches -from ytdl_sub.config.config_file import ConfigFile -from ytdl_sub.config.preset import Preset from ytdl_sub.prebuilt_presets.tv_show import PrebuiltJellyfinTVShowPresets from ytdl_sub.prebuilt_presets.tv_show import PrebuiltKodiTVShowPresets from ytdl_sub.subscriptions.subscription import Subscription @@ -21,43 +21,52 @@ class TestPrebuiltTVShowPresets: @pytest.mark.parametrize( "tv_show_structure_preset", [ - "season_by_year_month__episode_by_day", "season_by_year__episode_by_month_day", "season_by_year__episode_by_month_day_reversed", - ], - ) - @pytest.mark.parametrize( - "episode_hour_granularity_preset", - [ - None, - "episode_add_hour_granularity", - "episode_add_hour_granularity_reversed", + "season_by_year__episode_by_month_day_hour", + "season_by_year__episode_by_month_day_hour_reversed", + "season_by_year_month__episode_by_day", + "season_by_year_month__episode_by_day_hour", ], ) def test_non_collection_presets_compile( self, - config: ConfigFile, + config, + subscription_name, + output_directory, + mock_download_collection_entries, media_player_preset: str, tv_show_structure_preset: str, - episode_hour_granularity_preset: str, ): + expected_summary_name = f"unit/{media_player_preset}/{tv_show_structure_preset}" parent_presets = [media_player_preset, tv_show_structure_preset] - if episode_hour_granularity_preset: - parent_presets.append(episode_hour_granularity_preset) - preset = Preset.from_dict( + subscription = Subscription.from_dict( config=config, - preset_name=f"{media_player_preset}_test", + preset_name=subscription_name, preset_dict={ "preset": parent_presets, "overrides": { "url": "https://your.name.here", "tv_show_name": "test tv show", - "tv_show_directory": "output_path", + "tv_show_directory": output_directory, }, }, ) - assert preset + + transaction_log = subscription.download(dry_run=False) + assert_transaction_log_matches( + output_directory=output_directory, + transaction_log=transaction_log, + transaction_log_summary_file_name=f"{expected_summary_name}.txt", + regenerate_transaction_log=True, + ) + assert_expected_downloads( + output_directory=output_directory, + dry_run=False, + expected_download_summary_file_name=f"{expected_summary_name}.json", + regenerate_expected_download_summary=True, + ) @pytest.mark.parametrize( "media_player_preset", @@ -71,14 +80,8 @@ class TestPrebuiltTVShowPresets: [ "season_by_collection__episode_by_year_month_day", "season_by_collection__episode_by_year_month_day_reversed", - ], - ) - @pytest.mark.parametrize( - "episode_hour_granularity_preset", - [ - None, - "episode_add_hour_granularity", - "episode_add_hour_granularity_reversed", + "season_by_collection__episode_by_year_month_day_hour", + "season_by_collection__episode_by_year_month_day_hour_reversed", ], ) @pytest.mark.parametrize("season_indices", [[1], [1, 2]]) @@ -91,13 +94,11 @@ class TestPrebuiltTVShowPresets: mock_download_collection_entries, media_player_preset: str, tv_show_structure_preset: str, - episode_hour_granularity_preset: str, season_indices: List[int], is_season_1_youtube_channel: bool, ): + expected_summary_name = f"unit/{media_player_preset}/{tv_show_structure_preset}" parent_presets: List[str] = [media_player_preset, tv_show_structure_preset] - if episode_hour_granularity_preset: - parent_presets.append(episode_hour_granularity_preset) overrides: Dict[str, str] = {} for season_index in season_indices: @@ -128,5 +129,16 @@ class TestPrebuiltTVShowPresets: }, ) - output_transaction = subscription.download(dry_run=False) - assert output_transaction + transaction_log = subscription.download(dry_run=False) + assert_transaction_log_matches( + output_directory=output_directory, + transaction_log=transaction_log, + transaction_log_summary_file_name=f"{expected_summary_name}.txt", + regenerate_transaction_log=True, + ) + assert_expected_downloads( + output_directory=output_directory, + dry_run=False, + expected_download_summary_file_name=f"{expected_summary_name}.json", + regenerate_expected_download_summary=True, + )