diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3ebefe35..0fb9eace 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -69,6 +69,7 @@ jobs: - name: Run unit tests with coverage run: | + sudo apt-get install -y ffmpeg source /opt/env/bin/activate coverage run -m pytest tests/unit && coverage xml -o /opt/coverage/unit/coverage.xml diff --git a/docs/index.rst b/docs/index.rst index ced478d4..5564031f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -21,4 +21,5 @@ Contents .. toctree:: :maxdepth: 2 + presets config diff --git a/docs/presets.rst b/docs/presets.rst new file mode 100644 index 00000000..593959c7 --- /dev/null +++ b/docs/presets.rst @@ -0,0 +1,119 @@ +Presets +======= +``ytdl-sub`` offers a number of built-in presets using best practices for formatting +media in various players. + +TV Shows +-------- + +There are two main methods for downloading and formatting videos as a TV show. + +TV Show by Date +^^^^^^^^^^^^^^^ + +TV Show by Date will organize something like a YouTube channel or playlist +into a tv show, where seasons and episodes are organized using upload date. + +Player Presets +"""""""""""""" + +* ``kodi_tv_show_by_date`` +* ``jellyfin_tv_show_by_date`` +* ``plex_tv_show_by_date`` + +Episode Formatting Presets +"""""""""""""""""""""""""" + +* ``season_by_year__episode_by_month_day`` +* ``season_by_year_month__episode_by_day`` +* ``season_by_year__episode_by_month_day_reversed`` + * Episode numbers are reversed, meaning more recent episodes appear at the + top of a season by having a lower value. + +Usage +""""" + +A preset/subscription requires specifying a player and episode formatting preset +and overriding the following variables: + +.. code-block:: yaml + + rick_a_tv_show_by_date: + preset: + - "jellyfin_tv_show_by_date" + - "season_by_year__episode_by_month_day" + overrides: + # required + tv_show_name: "Rick A" + tv_show_directory: "/path/to/youtube_shows" + url: "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw" + # can be modified from their default value + # episode_title: "{upload_date_standardized} - {title}" + # episode_description: "{webpage_url}" + + +TV Show Collection +^^^^^^^^^^^^^^^^^^ + +TV Show Collections are made up from multiple URLs, where each URL is a season. +If a video belongs to multiple URLs (i.e. a channel and a channel's playlist), +it will resolve to the bottom-most season. + +Two main use cases of a collection are: + 1. Organize a YouTube channel TV show where Season 1 contains any video + not in a 'season playlist', Season 2 for 'Playlist A', Season 3 for + 'Playlist B', etc. + 2. Organize one or more YouTube channels/playlists, where each season + represents a separate channel/playlist. + +Player Presets +"""""""""""""" + +* ``kodi_tv_show_collection`` +* ``jellyfin_tv_show_collection`` +* ``plex_tv_show_collection`` + +Episode Formatting Presets +"""""""""""""""""""""""""" + +* ``season_by_collection__episode_by_year_month_day`` +* ``season_by_collection__episode_by_year_month_day_reversed`` +* ``season_by_collection__episode_by_playlist_index`` + * Only use playlist_index episode formatting for playlists that + will never change. Otherwise, indices get messed up. +* ``season_by_collection__episode_by_playlist_index_reversed`` + +Season Presets +"""""""""""""" + +* ``collection_season_1`` +* ``collection_season_2`` +* ``collection_season_3`` +* ``collection_season_4`` +* ``collection_season_5`` + +Example +""""""" + +A preset/subscription requires specifying a player, episode formatting, and +one or more season presets, with the following override variables: + +.. code-block:: yaml + + rick_a_tv_show_collection: + preset: + - "jellyfin_tv_show_collection" + - "season_by_collection__episode_by_year_month_day_reversed" + - "collection_season_1" + - "collection_season_2" + overrides: + # required + tv_show_name: "Rick A" + tv_show_directory: "/path/to/youtube_shows" + collection_season_1_url: "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw" + collection_season_1_name: "All Videos" + collection_season_2_url: "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc" + collection_season_2_name: "Official Music Videos" + # can be modified from their default value + # episode_title: "{upload_date_standardized} - {title}" + # episode_description: "{webpage_url}" diff --git a/setup.cfg b/setup.cfg index 58715f1c..90b046c0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,6 +30,9 @@ install_requires = mediafile==0.9.0 PyYAML==6.0 +[options.package_data] +* = *.yaml + [options.packages.find] where=src diff --git a/src/ytdl_sub/config/config_file.py b/src/ytdl_sub/config/config_file.py index 77f68aa6..d8f48920 100644 --- a/src/ytdl_sub/config/config_file.py +++ b/src/ytdl_sub/config/config_file.py @@ -3,6 +3,9 @@ from typing import Any from typing import Dict from typing import Optional +import mergedeep + +from ytdl_sub.prebuilt_presets import PREBUILT_PRESETS from ytdl_sub.utils.yaml import load_yaml from ytdl_sub.validators.strict_dict_validator import StrictDictValidator from ytdl_sub.validators.validators import LiteralDictValidator @@ -77,9 +80,21 @@ class ConfigFile(StrictDictValidator): super().__init__(name, value) self.config_options = self._validate_key("configuration", ConfigOptions) + prebuilt_presets = PREBUILT_PRESETS + # Make sure presets is a dictionary. Will be validated in `PresetValidator` self.presets = self._validate_key("presets", LiteralDictValidator) + # Ensure custom presets do not collide with prebuilt presets + for preset_name in self.presets.keys: + if preset_name in prebuilt_presets: + raise self._validation_exception( + f"preset name '{preset_name}' conflicts with a prebuilt preset" + ) + + # Merge prebuilt presets into the config so custom presets can use them + mergedeep.merge(self.presets._value, prebuilt_presets) + def initialize(self): """ Configures things (umask, pgid) prior to any downloading diff --git a/src/ytdl_sub/config/preset.py b/src/ytdl_sub/config/preset.py index d046d62b..0708cb9f 100644 --- a/src/ytdl_sub/config/preset.py +++ b/src/ytdl_sub/config/preset.py @@ -22,6 +22,7 @@ from ytdl_sub.downloaders.downloader import DownloaderValidator from ytdl_sub.entries.entry import Entry from ytdl_sub.plugins.plugin import Plugin from ytdl_sub.plugins.plugin import PluginOptions +from ytdl_sub.utils.yaml import dump_yaml from ytdl_sub.utils.yaml import load_yaml from ytdl_sub.validators.strict_dict_validator import StrictDictValidator from ytdl_sub.validators.string_formatter_validators import DictFormatterValidator @@ -328,8 +329,8 @@ class Preset(StrictDictValidator): ) # Merge all presets - self._value = mergedeep.merge( - {}, *reversed(presets_to_merge), strategy=mergedeep.Strategy.ADDITIVE + self._value = dict( + mergedeep.merge({}, *reversed(presets_to_merge), strategy=mergedeep.Strategy.ADDITIVE) ) def __init__(self, config: ConfigFile, name: str, value: Any): @@ -411,3 +412,12 @@ class Preset(StrictDictValidator): ) return subscriptions + + @property + def yaml(self) -> str: + """ + Returns + ------- + Preset in YAML format + """ + return dump_yaml({"presets": {self._name: self._value}}) diff --git a/src/ytdl_sub/downloaders/downloader.py b/src/ytdl_sub/downloaders/downloader.py index 4f2c31b3..952e6a50 100644 --- a/src/ytdl_sub/downloaders/downloader.py +++ b/src/ytdl_sub/downloaders/downloader.py @@ -376,13 +376,17 @@ class Downloader(DownloadArchiver, Generic[DownloaderOptionsT], ABC): elif archive_file_exists: FileHandler.copy(src_file_path=backup_archive_path, dst_file_path=archive_path) - def _download_entry(self, entry: Entry) -> Entry: - download_logger.info("Downloading entry %s", entry.title) + def _extract_entry_info_with_retry(self, entry: Entry) -> Entry: download_entry_dict = self.extract_info_with_retry( is_downloaded_fn=None if self.is_dry_run else entry.is_downloaded, url=entry.webpage_url, ytdl_options_overrides={"writeinfojson": False, "skip_download": self.is_dry_run}, ) + return Entry(download_entry_dict, working_directory=self.working_directory) + + def _download_entry(self, entry: Entry) -> Entry: + download_logger.info("Downloading entry %s", entry.title) + download_entry = self._extract_entry_info_with_retry(entry=entry) upload_date_idx = self._enhanced_download_archive.mapping.get_num_entries_with_upload_date( upload_date_standardized=entry.upload_date_standardized @@ -391,7 +395,7 @@ class Downloader(DownloadArchiver, Generic[DownloaderOptionsT], ABC): entry.add_kwargs( { # Workaround for the yt-dlp issue that does not include subs in playlist downloads - REQUESTED_SUBTITLES: download_entry_dict.get(REQUESTED_SUBTITLES), + REQUESTED_SUBTITLES: download_entry.kwargs_get(REQUESTED_SUBTITLES), # Tracks number of entries with the same upload date to make them unique UPLOAD_DATE_INDEX: upload_date_idx, } @@ -483,7 +487,7 @@ class Downloader(DownloadArchiver, Generic[DownloaderOptionsT], ABC): yield entry_child for orphan in self._download_entries(orphans): - yield self._download_entry(orphan) + yield orphan def download( self, diff --git a/src/ytdl_sub/entries/base_entry.py b/src/ytdl_sub/entries/base_entry.py index 9553bed7..78a13aaf 100644 --- a/src/ytdl_sub/entries/base_entry.py +++ b/src/ytdl_sub/entries/base_entry.py @@ -41,7 +41,7 @@ class BaseEntryVariables: str The entry's unique ID """ - return self.kwargs(UID) + return str(self.kwargs(UID)) @property def uid_sanitized(self: "BaseEntry") -> str: diff --git a/src/ytdl_sub/entries/entry.py b/src/ytdl_sub/entries/entry.py index 705bf299..d6bfea9c 100644 --- a/src/ytdl_sub/entries/entry.py +++ b/src/ytdl_sub/entries/entry.py @@ -56,7 +56,7 @@ class Entry(EntryVariables, BaseEntry): The source `thumbnail` value and the actual downloaded thumbnail extension sometimes do not match. Return the actual downloaded thumbnail path. """ - thumbnails = self.kwargs("thumbnails") or [] + thumbnails = self.kwargs_get("thumbnails", []) possible_thumbnail_exts = {"jpg", "webp"} # Always check for jpg and webp thumbs for thumbnail in thumbnails: diff --git a/src/ytdl_sub/entries/variables/entry_variables.py b/src/ytdl_sub/entries/variables/entry_variables.py index 5f537710..c07e5076 100644 --- a/src/ytdl_sub/entries/variables/entry_variables.py +++ b/src/ytdl_sub/entries/variables/entry_variables.py @@ -26,6 +26,7 @@ from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER_ID from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER_URL from ytdl_sub.entries.variables.kwargs import SOURCE_WEBPAGE_URL +from ytdl_sub.entries.variables.kwargs import UPLOAD_DATE from ytdl_sub.entries.variables.kwargs import UPLOAD_DATE_INDEX # This file contains mixins to a BaseEntry subclass. Ignore pylint's "no kwargs member" suggestion @@ -33,7 +34,8 @@ from ytdl_sub.entries.variables.kwargs import UPLOAD_DATE_INDEX # pylint: disable=too-many-public-methods -def _pad(num: int, width: int = 2): +def pad(num: int, width: int = 2): + """Pad integers""" return str(num).zfill(width) @@ -95,7 +97,7 @@ class EntryVariables(BaseEntryVariables): int The source index, padded. """ - return _pad(self.source_index, 2) + return pad(self.source_index, 2) @property def source_count(self: Self) -> int: @@ -188,7 +190,7 @@ class EntryVariables(BaseEntryVariables): str playlist_index padded two digits """ - return _pad(self.playlist_index, width=2) + return pad(self.playlist_index, width=2) @property def playlist_index_reversed_padded(self: Self) -> str: @@ -198,7 +200,7 @@ class EntryVariables(BaseEntryVariables): str playlist_index_reversed padded two digits """ - return _pad(self.playlist_index_reversed, width=2) + return pad(self.playlist_index_reversed, width=2) @property def playlist_index_padded6(self: Self) -> str: @@ -208,7 +210,7 @@ class EntryVariables(BaseEntryVariables): str playlist_index padded six digits. """ - return _pad(self.playlist_index, width=6) + return pad(self.playlist_index, width=6) @property def playlist_index_reversed_padded6(self: Self) -> str: @@ -218,7 +220,7 @@ class EntryVariables(BaseEntryVariables): str playlist_index_reversed padded six digits. """ - return _pad(self.playlist_index_reversed, width=6) + return pad(self.playlist_index_reversed, width=6) @property def playlist_count(self: Self) -> int: @@ -395,7 +397,7 @@ class EntryVariables(BaseEntryVariables): int The upload_date_index padded two digits """ - return _pad(self.upload_date_index, 2) + return pad(self.upload_date_index, 2) @property def upload_date_index_reversed(self: Self) -> int: @@ -415,7 +417,7 @@ class EntryVariables(BaseEntryVariables): int The upload_date_index padded two digits """ - return _pad(self.upload_date_index_reversed, 2) + return pad(self.upload_date_index_reversed, 2) @property def upload_date(self: Self) -> str: @@ -425,7 +427,7 @@ class EntryVariables(BaseEntryVariables): str The entry's uploaded date, in YYYYMMDD format. """ - return self.kwargs("upload_date") + return self.kwargs(UPLOAD_DATE) @property def upload_year(self: Self) -> int: @@ -476,7 +478,7 @@ class EntryVariables(BaseEntryVariables): str The reversed upload month, but padded. i.e. November returns "02" """ - return _pad(self.upload_month_reversed) + return pad(self.upload_month_reversed) @property def upload_month_padded(self: Self) -> str: @@ -541,7 +543,7 @@ class EntryVariables(BaseEntryVariables): str The reversed upload day, but padded. i.e. August 30th returns "02". """ - return _pad(self.upload_day_reversed) + return pad(self.upload_day_reversed) @property def upload_day_of_year(self: Self) -> int: @@ -565,7 +567,7 @@ class EntryVariables(BaseEntryVariables): str The upload day of year, but padded i.e. February 1st returns "032" """ - return _pad(self.upload_day_of_year, width=3) + return pad(self.upload_day_of_year, width=3) @property def upload_day_of_year_reversed(self: Self) -> int: @@ -590,7 +592,7 @@ class EntryVariables(BaseEntryVariables): str The reversed upload day of year, but padded i.e. December 31st returns "001" """ - return _pad(self.upload_day_of_year_reversed, width=3) + return pad(self.upload_day_of_year_reversed, width=3) @property def upload_date_standardized(self: Self) -> str: diff --git a/src/ytdl_sub/entries/variables/kwargs.py b/src/ytdl_sub/entries/variables/kwargs.py index ec1d14cf..96b2037f 100644 --- a/src/ytdl_sub/entries/variables/kwargs.py +++ b/src/ytdl_sub/entries/variables/kwargs.py @@ -50,6 +50,7 @@ EXT = _("ext") TITLE = _("title") DESCRIPTION = _("description") WEBPAGE_URL = _("webpage_url") +UPLOAD_DATE = _("upload_date") UPLOADER = _("uploader") UPLOADER_ID = _("uploader_id") UPLOADER_URL = _("uploader_url") diff --git a/src/ytdl_sub/plugins/nfo_tags.py b/src/ytdl_sub/plugins/nfo_tags.py index 7e13509d..f44c0546 100644 --- a/src/ytdl_sub/plugins/nfo_tags.py +++ b/src/ytdl_sub/plugins/nfo_tags.py @@ -31,9 +31,13 @@ class SharedNfoTagsOptions(PluginOptions): def __init__(self, name, value): super().__init__(name, value) - self._nfo_name = self._validate_key(key="nfo_name", validator=StringFormatterValidator) - self._nfo_root = self._validate_key(key="nfo_root", validator=StringFormatterValidator) - self._tags = self._validate_key(key="tags", validator=NfoTagsValidator) + self._nfo_name = self._validate_key_if_present( + key="nfo_name", validator=StringFormatterValidator + ) + self._nfo_root = self._validate_key_if_present( + key="nfo_root", validator=StringFormatterValidator + ) + self._tags = self._validate_key_if_present(key="tags", validator=NfoTagsValidator) self._kodi_safe = self._validate_key_if_present( key="kodi_safe", validator=BoolValidator, default=False ).value diff --git a/src/ytdl_sub/plugins/output_directory_nfo_tags.py b/src/ytdl_sub/plugins/output_directory_nfo_tags.py index a63f9684..cc050a6e 100644 --- a/src/ytdl_sub/plugins/output_directory_nfo_tags.py +++ b/src/ytdl_sub/plugins/output_directory_nfo_tags.py @@ -31,6 +31,11 @@ class OutputDirectoryNfoTagsOptions(SharedNfoTagsOptions): kodi_safe: False """ + # Hack to make it so collection named seasons do not error + # when adding output_directory_nfo info for plex + _required_keys = set() + _optional_keys = {"kodi_safe", "nfo_name", "nfo_root", "tags"} + @property def nfo_root(self) -> StringFormatterValidator: """ @@ -105,5 +110,11 @@ class OutputDirectoryNfoTagsPlugin(SharedNfoTagsPlugin): """ Creates an NFO file in the root of the output directory using the last entry """ - if self._last_entry: - self._create_nfo(entry=self._last_entry, save_to_entry=False) + if ( + self.plugin_options.nfo_name is None + or self.plugin_options.nfo_root is None + or self._last_entry is None + ): + return + + self._create_nfo(entry=self._last_entry, save_to_entry=False) diff --git a/src/ytdl_sub/prebuilt_presets/__init__.py b/src/ytdl_sub/prebuilt_presets/__init__.py new file mode 100644 index 00000000..f60dd237 --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/__init__.py @@ -0,0 +1,30 @@ +import pathlib +from typing import Any +from typing import Dict + +import mergedeep + +from ytdl_sub.prebuilt_presets.tv_show import TvShowByDatePresets +from ytdl_sub.prebuilt_presets.tv_show import TvShowCollectionPresets +from ytdl_sub.utils.yaml import load_yaml + + +def _merge_presets() -> Dict[str, Any]: + merged_configs: Dict[str, Any] = {} + + # Get all presets from the loose YAML files + for file in pathlib.Path(__file__).parent.resolve().rglob("*"): + if file.is_file() and file.name.endswith("yaml"): + mergedeep.merge(merged_configs, load_yaml(file)) + + # Get all presets from published preset configs + mergedeep.merge( + merged_configs, + *TvShowByDatePresets.get_presets(), + *TvShowCollectionPresets.get_presets(), + ) + + return merged_configs["presets"] + + +PREBUILT_PRESETS: Dict[str, Any] = _merge_presets() diff --git a/src/ytdl_sub/prebuilt_presets/helpers/kodi-safe.yaml b/src/ytdl_sub/prebuilt_presets/helpers/kodi-safe.yaml new file mode 100644 index 00000000..24c2005d --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/helpers/kodi-safe.yaml @@ -0,0 +1,7 @@ +presets: + + _kodi_safe_nfo: + nfo_tags: + kodi_safe: True + output_directory_nfo_tags: + kodi_safe: True \ No newline at end of file diff --git a/src/ytdl_sub/prebuilt_presets/music_videos/jellyfin-music-videos.yaml b/src/ytdl_sub/prebuilt_presets/music_videos/jellyfin-music-videos.yaml new file mode 100644 index 00000000..2db3c8cc --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/music_videos/jellyfin-music-videos.yaml @@ -0,0 +1,6 @@ +presets: + + kodi-music-videos: + preset: + - "jellyfin-music-videos" + - "kodi-safe" diff --git a/src/ytdl_sub/prebuilt_presets/music_videos/kodi-music-videos.yaml b/src/ytdl_sub/prebuilt_presets/music_videos/kodi-music-videos.yaml new file mode 100644 index 00000000..84623470 --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/music_videos/kodi-music-videos.yaml @@ -0,0 +1,30 @@ +presets: + + kodi_music_video: + generic: + download_strategy: "source" + music_video_url: "{music_video_url}" + + output_options: + output_directory: "{music_video_directory}" + file_name: "{music_video_file_name}.{ext}" + thumbnail_name: "{music_video_file_name}-thumb.jpg" + + nfo_tags: + nfo_name: "{music_video_name}.nfo" + nfo_root: "musicvideo" + kodi_safe: True + tags: + artist: "{music_video_artist}" + title: "{music_video_title}" + album: "{music_video_album}" + year: "{music_video_year}" + + overrides: +# MUST DEFINE: +# music_video_artist +# music_video_directory + music_video_title: "{title}" + music_video_album: "Music Videos" + music_video_year: "{upload_year}" + music_video_file_name: "{artist_sanitized}/{music_video_year} - {music_video_title_sanitized}" diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py new file mode 100644 index 00000000..598e8fa7 --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/tv_show/__init__.py @@ -0,0 +1,220 @@ +from typing import Any +from typing import Dict +from typing import List +from typing import Optional +from typing import Set + +from ytdl_sub.entries.variables.entry_variables import pad + +Preset = Dict[str, Any] + +#################################################### +# TV SHOW TYPES + +KODI_TV_SHOW = "_kodi_tv_show" +JELLYFIN_TV_SHOW = "_jellyfin_tv_show" +PLEX_TV_SHOW = "_plex_tv_show" + +##################################################### +# TV SHOW URL PRESETS + +TV_SHOW_BY_DATE = "_tv_show_by_date" + +SEASON_YEAR__EPISODE_MONTH_DAY = "season_by_year__episode_by_month_day" +SEASON_YEAR__EPISODE_MONTH_DAY_REVERSED = "season_by_year__episode_by_month_day_reversed" +SEASON_YEAR_MONTH__EPISODE_DAY = "season_by_year_month__episode_by_day" + +##################################################### +# TV SHOW COLLECTION PRESETS + +TV_SHOW_COLLECTION = "_tv_show_collection" + +SEASON_COLLECTION__EPISODE_Y_M_D = "season_by_collection__episode_by_year_month_day" +SEASON_COLLECTION__EPISODE_Y_M_D_REV = "season_by_collection__episode_by_year_month_day_reversed" + + +class PrebuiltPresets: + @classmethod + def _build_preset(cls, name: str, parent_presets: List[str]) -> Preset: + return {"presets": {name: {"preset": parent_presets}}} + + @classmethod + def _document_preset(cls) -> Preset: + return {} + + @classmethod + def get_preset_names(cls) -> Set[str]: + """ + Returns + ------- + Preset names in the set + """ + preset_names = [prop for prop in dir(cls) if isinstance(getattr(cls, prop), property)] + return set(preset_names) + + @classmethod + def get_presets(cls) -> List[Preset]: + """ + Returns + ------- + Preset dicts in the set if they are not added in other yamls + """ + return [getattr(cls(), preset_name) for preset_name in cls.get_preset_names()] + + +class TvShowByDatePresets(PrebuiltPresets): + """ + TV Show by Date presets create a TV show from a single URL using upload dates as season/episode + numbers. + """ + + @property + def kodi_tv_show_by_date(self): + """ + Formats a TV show organized by date for Kodi + """ + return self._build_preset( + name="kodi_tv_show_by_date", parent_presets=[KODI_TV_SHOW, TV_SHOW_BY_DATE] + ) + + @property + def jellyfin_tv_show_by_date(self): + """ + Formats a TV show organized by date for Jellyfin + """ + return self._build_preset( + name="jellyfin_tv_show_by_date", parent_presets=[JELLYFIN_TV_SHOW, TV_SHOW_BY_DATE] + ) + + @property + def plex_tv_show_by_date(self): + """ + Formats a TV show organized by date for Plex + """ + return self._build_preset( + name="plex_tv_show_by_date", parent_presets=[PLEX_TV_SHOW, TV_SHOW_BY_DATE] + ) + + +class TvShowByDateEpisodeFormattingPresets(PrebuiltPresets): + @property + def season_by_year__episode_by_month_day(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + @property + def season_by_year__episode_by_month_day_reversed(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + @property + def season_by_year_month__episode_by_day(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + +class TvShowCollectionPresets(PrebuiltPresets): + """ + Docstring for all TV SHOW URL presets + """ + + @property + def kodi_tv_show_collection(self) -> Preset: + """ + Kodi TV Show with seasons as years, episodes ordered by upload date + """ + return self._build_preset( + name="kodi_tv_show_collection", parent_presets=[KODI_TV_SHOW, TV_SHOW_COLLECTION] + ) + + @property + def jellyfin_tv_show_collection(self) -> Preset: + """ + Kodi TV Show with seasons as years, episodes ordered by upload date + """ + return self._build_preset( + name="jellyfin_tv_show_collection", + parent_presets=[JELLYFIN_TV_SHOW, TV_SHOW_COLLECTION], + ) + + @property + def plex_tv_show_collection(self) -> Preset: + """ + Kodi TV Show with seasons as years, episodes ordered by upload date + """ + return self._build_preset( + name="plex_tv_show_collection", parent_presets=[PLEX_TV_SHOW, TV_SHOW_COLLECTION] + ) + + +class TvShowCollectionEpisodeFormattingPresets(PrebuiltPresets): + @property + def season_by_collection__episode_by_year_month_day(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + @property + def season_by_collection__episode_by_year_month_day_reversed(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + @property + def season_by_collection__episode_by_playlist_index(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + @property + def season_by_collection__episode_by_playlist_index_reversed(self) -> Preset: + """ + DOC + """ + return self._document_preset() + + +class TvShowCollectionSeasonPresets(PrebuiltPresets): + @property + def collection_season_1(self): + """ + DOC + """ + return self._document_preset() + + @property + def collection_season_2(self): + """ + DOC + """ + return self._document_preset() + + @property + def collection_season_3(self): + """ + DOC + """ + return self._document_preset() + + @property + def collection_season_4(self): + """ + DOC + """ + return self._document_preset() + + @property + def collection_season_5(self): + """ + DOC + """ + return self._document_preset() diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml new file mode 100644 index 00000000..3eb71d29 --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/tv_show/episode.yaml @@ -0,0 +1,127 @@ +presets: + +#################################################################################################### + + _episode_base: + output_options: + output_directory: "{tv_show_directory}/{tv_show_name_sanitized}" + file_name: "{episode_file_path}.{ext}" + thumbnail_name: "{episode_file_path}-thumb.jpg" + maintain_download_archive: True + + chapters: + embed_chapters: True + + overrides: +# MUST DEFINE: +# tv_show_directory +# tv_show_name +# season_number +# season_number_padded +# episode_number +# episode_number_padded + season_title: "{season_number_padded}" + episode_title: "{upload_date_standardized} - {title}" + episode_plot: "{webpage_url}" + episode_year: "{upload_year}" + episode_date_standardized: "{upload_date_standardized}" + episode_file_name: "s{season_number_padded}.e{episode_number_padded} - {uid_sanitized}" + episode_file_path: "Season {season_number_padded}/{episode_file_name}" + episode_number_suffix: "" + + _episode_video_tags: + video_tags: + tags: + show: "{tv_show_name}" + season_number: "{season_number}" + episode_id: "{episode_number}" + title: "{episode_title}" + synopsis: "{episode_plot}" + year: "{episode_year}" + date: "{episode_date_standardized}" + + _episode_nfo_tags: + nfo_tags: + nfo_name: "{episode_file_path}.nfo" + nfo_root: "episodedetails" + tags: + season: "{season_number}" + episode: "{episode_number}" + title: "{episode_title}" + plot: "{episode_plot}" + year: "{episode_year}" + aired: "{episode_date_standardized}" + + output_directory_nfo_tags: + nfo_name: "tvshow.nfo" + nfo_root: "tvshow" + tags: + title: "{tv_show_name}" + +#################################################################################################### + + _season_by_year: + overrides: + season_number: "{upload_year}" + season_number_padded: "{season_number}" + + _season_by_year_month: + overrides: + season_number: "{upload_year}{upload_month_padded}" + season_number_padded: "{season_number}" + +#################################################################################################### + + season_by_year_month__episode_by_day: + preset: + - "_episode_base" + - "_season_by_year_month" + overrides: + episode_number: "{upload_day}" + episode_number_padded: "{upload_day_padded}{upload_date_index_padded}" + + season_by_year__episode_by_month_day: + preset: + - "_episode_base" + - "_season_by_year" + overrides: + episode_number: "{upload_month}{upload_day_padded}" + episode_number_padded: "{upload_month_padded}{upload_day_padded}{upload_date_index_padded}" + + season_by_year__episode_by_month_day_reversed: + preset: + - "_episode_base" + - "_season_by_year" + overrides: + episode_number: "{upload_day_of_year_reversed}{upload_date_index_reversed_padded}" + episode_number_padded: "{upload_day_of_year_reversed_padded}{upload_date_index_reversed_padded}" + + ############### + + season_by_collection__episode_by_year_month_day: + preset: + - "_episode_base" + overrides: + episode_number: "{upload_year_truncated}{upload_month_padded}{upload_day_padded}{upload_date_index_padded}" + episode_number_padded: "{episode_number}" + + season_by_collection__episode_by_year_month_day_reversed: + preset: + - "_episode_base" + overrides: + episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{upload_date_index_reversed_padded}" + episode_number_padded: "{episode_number}" + + season_by_collection__episode_by_playlist_index: + preset: + - "_episode_base" + overrides: + episode_number: "{playlist_index}" + episode_number_padded: "{playlist_index_padded6}" + + season_by_collection__episode_by_playlist_index_reversed: + preset: + - "_episode_base" + overrides: + episode_number: "{playlist_index_reversed}" + episode_number_padded: "{playlist_index_reversed_padded6}" diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/players.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/players.yaml new file mode 100644 index 00000000..4228ab73 --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/tv_show/players.yaml @@ -0,0 +1,22 @@ +presets: + + _plex_tv_show: + preset: + - "_episode_video_tags" + overrides: + tv_show_poster_file_name: "poster.jpg" + tv_show_fanart_file_name: "fanart.jpg" + season_poster_file_name: "Season{season_number_padded}.jpg" + + _jellyfin_tv_show: + preset: + - "_episode_nfo_tags" + overrides: + tv_show_poster_file_name: "poster.jpg" + tv_show_fanart_file_name: "fanart.jpg" + season_poster_file_name: "season{season_number_padded}-poster.jpg" + + _kodi_tv_show: + preset: + - "_jellyfin_tv_show" + - "_kodi_safe_nfo" diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_type.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_type.yaml new file mode 100644 index 00000000..c93e52be --- /dev/null +++ b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show_type.yaml @@ -0,0 +1,125 @@ +presets: + +#################################################################################################### + + # TV show from any single source. Uses latest entry's thumbnail as tv show poster + _tv_show_by_date: + generic: + download_strategy: "source" + url: "{url}" + playlist_thumbnails: + # Use latest_entry first, then see if YT channel artwork exists + - name: "{tv_show_poster_file_name}" + uid: "latest_entry" + - name: "{tv_show_poster_file_name}" + uid: "avatar_uncropped" + - name: "{tv_show_fanart_file_name}" + uid: "banner_uncropped" + +#################################################################################################### + + # TV show from a collection. Must specify additional `tv_show_collection_season` presets in + # addition. Each season sets its own `collection_season_number/_padded` + _tv_show_collection: + generic: + download_strategy: "collection" + + overrides: + season_number: "{collection_season_number}" + season_number_padded: "{collection_season_number_padded}" + + collection_season_1: + generic: + urls: + - url: "{collection_season_1_url}" + variables: + collection_season_number: "1" + collection_season_number_padded: "01" + playlist_thumbnails: + # Use latest_entry first, then see if YT channel artwork exists + # ONLY FOR SEASON 1! + - name: "{season_poster_file_name}" + uid: "latest_entry" + - name: "{tv_show_poster_file_name}" + uid: "avatar_uncropped" + - name: "{tv_show_fanart_file_name}" + uid: "banner_uncropped" + + output_directory_nfo_tags: + tags: + namedseason: + - tag: "{collection_season_1_name}" + attributes: + number: "1" + + collection_season_2: + generic: + urls: + - url: "{collection_season_2_url}" + variables: + collection_season_number: "2" + collection_season_number_padded: "02" + playlist_thumbnails: + - name: "{season_poster_file_name}" + uid: "latest_entry" + + output_directory_nfo_tags: + tags: + namedseason: + - tag: "{collection_season_2_name}" + attributes: + number: "2" + + collection_season_3: + generic: + urls: + - url: "{collection_season_3_url}" + variables: + collection_season_number: "3" + collection_season_number_padded: "03" + playlist_thumbnails: + - name: "{season_poster_file_name}" + uid: "latest_entry" + + output_directory_nfo_tags: + tags: + namedseason: + - tag: "{collection_season_3_name}" + attributes: + number: "3" + + collection_season_4: + generic: + urls: + - url: "{collection_season_4_url}" + variables: + collection_season_number: "4" + collection_season_number_padded: "04" + playlist_thumbnails: + - name: "{season_poster_file_name}" + uid: "latest_entry" + + output_directory_nfo_tags: + tags: + namedseason: + - tag: "{collection_season_4_name}" + attributes: + number: "4" + + collection_season_5: + generic: + urls: + - url: "{collection_season_5_url}" + variables: + collection_season_number: "5" + collection_season_number_padded: "05" + playlist_thumbnails: + - name: "{season_poster_file_name}" + uid: "latest_entry" + + output_directory_nfo_tags: + tags: + namedseason: + - tag: "{collection_season_5_name}" + attributes: + number: "5" \ No newline at end of file diff --git a/src/ytdl_sub/utils/yaml.py b/src/ytdl_sub/utils/yaml.py index 0556133c..589a5975 100644 --- a/src/ytdl_sub/utils/yaml.py +++ b/src/ytdl_sub/utils/yaml.py @@ -1,4 +1,6 @@ import os.path +from io import StringIO +from pathlib import Path from typing import Dict import yaml @@ -8,7 +10,7 @@ from ytdl_sub.utils.exceptions import FileNotFoundException from ytdl_sub.utils.exceptions import InvalidYamlException -def load_yaml(file_path: str) -> Dict: +def load_yaml(file_path: str | Path) -> Dict: """ Parameters ---------- @@ -36,3 +38,14 @@ def load_yaml(file_path: str) -> Dict: raise InvalidYamlException( f"'{file_path}' has invalid YAML, copy-paste it into a YAML checker to find the issue." ) from yaml_exception + + +def dump_yaml(to_dump: Dict) -> str: + """ + Returns + ------- + dict converted to YAML + """ + string_io = StringIO() + yaml.safe_dump(to_dump, string_io, indent=2, allow_unicode=True, sort_keys=True) + return string_io.getvalue() diff --git a/tests/conftest.py b/tests/conftest.py index d292fa96..a7b270a1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,7 +1,9 @@ import contextlib import json import logging +import shutil import tempfile +from pathlib import Path from typing import Any from typing import Callable from typing import Dict @@ -19,6 +21,12 @@ def output_directory(): yield temp_dir +@pytest.fixture +def working_directory() -> str: + with tempfile.TemporaryDirectory() as temp_dir: + yield temp_dir + + @contextlib.contextmanager def assert_debug_log(logger: logging.Logger, expected_message: str): """ diff --git a/tests/expected_download.py b/tests/expected_download.py index a2b9549e..3a4ea874 100644 --- a/tests/expected_download.py +++ b/tests/expected_download.py @@ -5,9 +5,11 @@ from pathlib import Path from typing import List from typing import Optional +from resources import RESOURCE_PATH + from ytdl_sub.utils.file_handler import get_file_md5_hash -_EXPECTED_DOWNLOADS_SUMMARY_PATH = Path("tests/resources/expected_downloads_summaries") +_EXPECTED_DOWNLOADS_SUMMARY_PATH = RESOURCE_PATH / "expected_downloads_summaries" def _get_files_in_directory(relative_directory: Path | str) -> List[Path]: @@ -126,6 +128,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..0f274970 100644 --- a/tests/expected_transaction_log.py +++ b/tests/expected_transaction_log.py @@ -1,9 +1,11 @@ -from pathlib import Path +import os from typing import List +from resources import RESOURCE_PATH + from ytdl_sub.utils.file_handler import FileHandlerTransactionLog -_TRANSACTION_LOG_SUMMARY_PATH = Path("tests/resources/transaction_log_summaries") +_TRANSACTION_LOG_SUMMARY_PATH = RESOURCE_PATH / "transaction_log_summaries" def assert_transaction_log_matches( @@ -32,6 +34,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.py b/tests/resources.py new file mode 100644 index 00000000..656cf5b1 --- /dev/null +++ b/tests/resources.py @@ -0,0 +1,9 @@ +import shutil +from pathlib import Path + +RESOURCE_PATH = Path("tests/resources") +_FILE_FIXTURE_PATH = RESOURCE_PATH / "file_fixtures" + + +def copy_file_fixture(fixture_name: str, output_file_path: str | Path) -> None: + shutil.copy(_FILE_FIXTURE_PATH / fixture_name, output_file_path) diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json new file mode 100644 index 00000000..be701784 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "108c80f56c4f3a545313914023fec626", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3.nfo": "daef467da711df9bc224b5e9fd2a7247", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2.nfo": "57e7a04456d6381656b4755ac4cfb5a0", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1.nfo": "b9d9d2781e965a76715f61e580b815de", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1.nfo": "eba8a895487808d156981f8f1273ab6c", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/tvshow.nfo": "45e230a40a6b290105d3dff64736fd43" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json new file mode 100644 index 00000000..dd89a45a --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "108c80f56c4f3a545313914023fec626", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3.nfo": "daef467da711df9bc224b5e9fd2a7247", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2.nfo": "57e7a04456d6381656b4755ac4cfb5a0", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1.nfo": "b9d9d2781e965a76715f61e580b815de", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1.nfo": "eba8a895487808d156981f8f1273ab6c", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/tvshow.nfo": "318979a19b6f4f3b9f6e3b3e9b697577" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json new file mode 100644 index 00000000..02119b1d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "25ae0d11d49153f48b8eb9fc3e1e3c89", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1.nfo": "be1896d120162e30b97620fd7d0fdd1c", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2.nfo": "4f39b5d071d6dbc36d10a612632e0e6c", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3.nfo": "adfc362e8ded11f4cd51e3ef9d268cf3", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1.nfo": "09409cd82d50e706dedfa89e53dd87a3", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/tvshow.nfo": "9294982566017209d5de9899975ff7ff" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json new file mode 100644 index 00000000..34314c80 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "25ae0d11d49153f48b8eb9fc3e1e3c89", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1.nfo": "be1896d120162e30b97620fd7d0fdd1c", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2.nfo": "4f39b5d071d6dbc36d10a612632e0e6c", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3.nfo": "adfc362e8ded11f4cd51e3ef9d268cf3", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1.nfo": "09409cd82d50e706dedfa89e53dd87a3", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/tvshow.nfo": "8cab30f38984a90397fdd251d82d4c8c" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json new file mode 100644 index 00000000..36206317 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "3d22780635619b3aa79f7ccaa08f7026", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3.nfo": "dbbe054a879a9b7067747bf543a9980c", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2.nfo": "80a4d18a3b48986aefe1da46cf9a0680", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1.nfo": "76c731a20897e26d162dc2a7f9fdfb07", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1.nfo": "7b0183872410248e5b3909d2d1a4431a", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/tvshow.nfo": "0a4bd07783795b7b98f854bb71d1ca06" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json new file mode 100644 index 00000000..08771985 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "3d22780635619b3aa79f7ccaa08f7026", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3.nfo": "dbbe054a879a9b7067747bf543a9980c", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2.nfo": "80a4d18a3b48986aefe1da46cf9a0680", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1.nfo": "76c731a20897e26d162dc2a7f9fdfb07", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1.nfo": "7b0183872410248e5b3909d2d1a4431a", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/tvshow.nfo": "9a4f053b01bba9282db19e926fe2c510" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json new file mode 100644 index 00000000..618d86c7 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "497d7636bfab5e5ded482491c5806923", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1.nfo": "7aaef9174bb92583931338b4153fbdad", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1.nfo": "2b8bc738e0a5e53806b6541f3ae94387", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2.nfo": "fd1e26edabd3d2f499aca022845119c0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3.nfo": "53e2533c322f19b4ec49a6e4345dc0ac", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/tvshow.nfo": "d4f8003837fe8b1195946a57c5224fb6" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json new file mode 100644 index 00000000..abccd716 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "497d7636bfab5e5ded482491c5806923", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1.nfo": "7aaef9174bb92583931338b4153fbdad", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1.nfo": "2b8bc738e0a5e53806b6541f3ae94387", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2.nfo": "fd1e26edabd3d2f499aca022845119c0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3.nfo": "53e2533c322f19b4ec49a6e4345dc0ac", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/tvshow.nfo": "8873cc397c138f9e2a1ea3ff3dd4af2a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json new file mode 100644 index 00000000..5a8fb588 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "aba7c39ebf1ffdf8a6375162985293f8", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4.nfo": "2d5fac3793fb023f2747124a88e147e6", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6.nfo": "934984e21ce69aef9a9f40ad0d4724b0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1.nfo": "8b64e87bddee5badcde8eb0d307e08a2", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1.nfo": "00c9bb36a1c984cb5d45c16a8d78f6dc", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2.nfo": "3d51d52954c371fe67534095bfbe46d1", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3.nfo": "1d1bc8ddaf24a0d53a6e66ddb4212949", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/tvshow.nfo": "0a6c214e630f3737aad5233d6961ec1b" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json new file mode 100644 index 00000000..51b62afb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "aba7c39ebf1ffdf8a6375162985293f8", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4.nfo": "2d5fac3793fb023f2747124a88e147e6", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6.nfo": "934984e21ce69aef9a9f40ad0d4724b0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1.nfo": "8b64e87bddee5badcde8eb0d307e08a2", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1.nfo": "00c9bb36a1c984cb5d45c16a8d78f6dc", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2.nfo": "3d51d52954c371fe67534095bfbe46d1", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3.nfo": "1d1bc8ddaf24a0d53a6e66ddb4212949", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/tvshow.nfo": "37e0fc253ce6574e69f048d0d242ae41" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json new file mode 100644 index 00000000..57af6ecb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/tvshow.nfo": "1bc7c2ff476a28a5c07fe0962689994f" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..002c3e57 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/tvshow.nfo": "1209b94e575325e33ac8a1f7023fc221" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json new file mode 100644 index 00000000..9c6d2d48 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "70d6a306c7ca3570a348eb6bc110bb80", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7.nfo": "769b5eaf87d2f96a8a7d2b9469eb7535", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6.nfo": "288fec241cb4c2d0d39cc779e7a74819", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4.nfo": "0b25735d26b26fe08c642fd3190a1a7d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/tvshow.nfo": "dfafa7b5b644783c904b3aa7cc775c20" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..c96cd7f6 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "70d6a306c7ca3570a348eb6bc110bb80", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7.nfo": "769b5eaf87d2f96a8a7d2b9469eb7535", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6.nfo": "288fec241cb4c2d0d39cc779e7a74819", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4.nfo": "0b25735d26b26fe08c642fd3190a1a7d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/tvshow.nfo": "47f11ca98091d594e672304613bce11c" +} \ 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/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json new file mode 100644 index 00000000..2410439a --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "fdb8f34f7cfa39bd1c6d1d254ed587c9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3.nfo": "cd1a035cce7e0a587a7a0d4e9bcc6c38", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2.nfo": "8af613e103e157aeacae59b03ef96a51", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1.nfo": "5a560892c20091c967ce516bb513ed01", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1.nfo": "3aa561adf899beef36634774adbf65f0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/tvshow.nfo": "e81ec73f267a43326691239ec04d1144" +} \ 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/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json new file mode 100644 index 00000000..c8e8cc1d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "fdb8f34f7cfa39bd1c6d1d254ed587c9", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3.nfo": "cd1a035cce7e0a587a7a0d4e9bcc6c38", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2.nfo": "8af613e103e157aeacae59b03ef96a51", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1.nfo": "5a560892c20091c967ce516bb513ed01", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1.nfo": "3aa561adf899beef36634774adbf65f0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/tvshow.nfo": "52689c6b5ffaf45a40e6b148d19ccf27" +} \ 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/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json new file mode 100644 index 00000000..1e9d0722 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "1b1461a94ba52bdaafebdc6691c39086", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7.nfo": "58bf9732b1fb73e2fdc47826064a9cf3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6.nfo": "a9dbd99b931eeb59c8c6b4606b01da54", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5.nfo": "18a0a1b633e4e5c0960f6d4795c401e8", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4.nfo": "8f481493151cc8e01670cb37352c7e2c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3.nfo": "d7290109d4bfade6ab78edaf213387ac", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2.nfo": "e634c5dc0ff71f50491f698920ee162a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1.nfo": "14b16d85e76f2fdf82d378e84c189d8b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1.nfo": "98c55a12f8cd758aa9d64272690c3e05", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/tvshow.nfo": "be05c4bbb04609679054db892a011183" +} \ 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/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json new file mode 100644 index 00000000..3fd48210 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "1b1461a94ba52bdaafebdc6691c39086", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7.nfo": "58bf9732b1fb73e2fdc47826064a9cf3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6.nfo": "a9dbd99b931eeb59c8c6b4606b01da54", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5.nfo": "18a0a1b633e4e5c0960f6d4795c401e8", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4.nfo": "8f481493151cc8e01670cb37352c7e2c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3.nfo": "d7290109d4bfade6ab78edaf213387ac", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2.nfo": "e634c5dc0ff71f50491f698920ee162a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1.nfo": "14b16d85e76f2fdf82d378e84c189d8b", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1.nfo": "98c55a12f8cd758aa9d64272690c3e05", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/tvshow.nfo": "435e6a4a924e431d2611d8323898917a" +} \ 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/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json new file mode 100644 index 00000000..9ebb0a55 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "0550ea6b74c5bc72062fd0d9e350c2b1", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1.nfo": "1ac4a4454dc0a98693af3d059bd8213d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1.nfo": "56150c6f2976bd869b62e2761441f715", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2.nfo": "d06d8305896237565be9605ec5d3cdb5", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3.nfo": "90a32ffd9f810b36d1f13486e5160766", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/tvshow.nfo": "658798b6ce9b68a8f33a91373a0bce40" +} \ 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/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..ff6b29e6 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "0550ea6b74c5bc72062fd0d9e350c2b1", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1.nfo": "1ac4a4454dc0a98693af3d059bd8213d", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1.nfo": "56150c6f2976bd869b62e2761441f715", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2.nfo": "d06d8305896237565be9605ec5d3cdb5", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3.nfo": "90a32ffd9f810b36d1f13486e5160766", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/tvshow.nfo": "3b2f0f85e71c5fba73e747b1a919d725" +} \ 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/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json new file mode 100644 index 00000000..80c18227 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "fc910d03e74cd0341c450695f42d4d69", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4.nfo": "d7304d208e57500fb7d6d9edfaa6c3a3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5.nfo": "efed3fa54ec02248c132accb97932fb7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6.nfo": "8c8f1d16a51e9d0302c267a4a349a28a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7.nfo": "ce873c1426b27a8cab19001987dbaa3c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1.nfo": "24ba0099a742cbd626385acdee6ff8fe", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1.nfo": "a0fd71e882ddab77a7b1684628b74806", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2.nfo": "e0c2b3c3668313fd765877f470c7cff0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3.nfo": "a42f4ccd71849b9b38c7ba35f33654be", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/tvshow.nfo": "6243e833de498bcaae2efbf614dede0e" +} \ 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/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..c22b4cc9 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "fc910d03e74cd0341c450695f42d4d69", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4.nfo": "d7304d208e57500fb7d6d9edfaa6c3a3", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5.nfo": "efed3fa54ec02248c132accb97932fb7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6.nfo": "8c8f1d16a51e9d0302c267a4a349a28a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7.nfo": "ce873c1426b27a8cab19001987dbaa3c", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1.nfo": "24ba0099a742cbd626385acdee6ff8fe", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1.nfo": "a0fd71e882ddab77a7b1684628b74806", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2.nfo": "e0c2b3c3668313fd765877f470c7cff0", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3.nfo": "a42f4ccd71849b9b38c7ba35f33654be", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/tvshow.nfo": "938113e06ac35355d319128764776f7c" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json new file mode 100644 index 00000000..2e917885 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "108c80f56c4f3a545313914023fec626", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3.nfo": "daef467da711df9bc224b5e9fd2a7247", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2.nfo": "57e7a04456d6381656b4755ac4cfb5a0", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1.nfo": "b9d9d2781e965a76715f61e580b815de", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1.nfo": "eba8a895487808d156981f8f1273ab6c", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/tvshow.nfo": "0524b882b2d1c2e67870a4d9bfd91a7b" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json new file mode 100644 index 00000000..6037f6df --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "108c80f56c4f3a545313914023fec626", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3.nfo": "daef467da711df9bc224b5e9fd2a7247", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2.nfo": "57e7a04456d6381656b4755ac4cfb5a0", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1.nfo": "b9d9d2781e965a76715f61e580b815de", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1.nfo": "eba8a895487808d156981f8f1273ab6c", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/tvshow.nfo": "1d69bcc248d5ec6485fc369496b0a97a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json new file mode 100644 index 00000000..0cbf01b0 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "25ae0d11d49153f48b8eb9fc3e1e3c89", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1.nfo": "be1896d120162e30b97620fd7d0fdd1c", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2.nfo": "4f39b5d071d6dbc36d10a612632e0e6c", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3.nfo": "adfc362e8ded11f4cd51e3ef9d268cf3", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1.nfo": "09409cd82d50e706dedfa89e53dd87a3", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/tvshow.nfo": "4fcf71949908fa54b92ff2f99f54cd26" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json new file mode 100644 index 00000000..d8e8d6ee --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "25ae0d11d49153f48b8eb9fc3e1e3c89", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1.nfo": "be1896d120162e30b97620fd7d0fdd1c", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2.nfo": "4f39b5d071d6dbc36d10a612632e0e6c", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3.nfo": "adfc362e8ded11f4cd51e3ef9d268cf3", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1.nfo": "09409cd82d50e706dedfa89e53dd87a3", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/tvshow.nfo": "9b0f02a2a51908ee5f02a544fdc3b1d5" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json new file mode 100644 index 00000000..ae29705d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "3d22780635619b3aa79f7ccaa08f7026", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3.nfo": "dbbe054a879a9b7067747bf543a9980c", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2.nfo": "80a4d18a3b48986aefe1da46cf9a0680", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1.nfo": "76c731a20897e26d162dc2a7f9fdfb07", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1.nfo": "7b0183872410248e5b3909d2d1a4431a", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/tvshow.nfo": "30fa4f55eaf3e7ef244946120aa2dbdf" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json new file mode 100644 index 00000000..1db0e430 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json @@ -0,0 +1,18 @@ +{ + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "3d22780635619b3aa79f7ccaa08f7026", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3.nfo": "dbbe054a879a9b7067747bf543a9980c", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2.nfo": "80a4d18a3b48986aefe1da46cf9a0680", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1.nfo": "76c731a20897e26d162dc2a7f9fdfb07", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1.nfo": "7b0183872410248e5b3909d2d1a4431a", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/tvshow.nfo": "a15b05a22f67c718ab45d7adc68558bc" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json new file mode 100644 index 00000000..2991e456 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "497d7636bfab5e5ded482491c5806923", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1.nfo": "7aaef9174bb92583931338b4153fbdad", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1.nfo": "2b8bc738e0a5e53806b6541f3ae94387", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2.nfo": "fd1e26edabd3d2f499aca022845119c0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3.nfo": "53e2533c322f19b4ec49a6e4345dc0ac", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/tvshow.nfo": "cdec1a88ded3de91f79199b00f1bd2d2" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json new file mode 100644 index 00000000..adbc24fb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "497d7636bfab5e5ded482491c5806923", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1.nfo": "7aaef9174bb92583931338b4153fbdad", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1.nfo": "2b8bc738e0a5e53806b6541f3ae94387", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2.nfo": "fd1e26edabd3d2f499aca022845119c0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3.nfo": "53e2533c322f19b4ec49a6e4345dc0ac", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/tvshow.nfo": "16d9dd6dfc4d280d090fd2fdbecbacf2" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json new file mode 100644 index 00000000..a7090a2b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "aba7c39ebf1ffdf8a6375162985293f8", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4.nfo": "2d5fac3793fb023f2747124a88e147e6", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6.nfo": "934984e21ce69aef9a9f40ad0d4724b0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1.nfo": "8b64e87bddee5badcde8eb0d307e08a2", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1.nfo": "00c9bb36a1c984cb5d45c16a8d78f6dc", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2.nfo": "3d51d52954c371fe67534095bfbe46d1", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3.nfo": "1d1bc8ddaf24a0d53a6e66ddb4212949", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/tvshow.nfo": "663bbb7c998c4ed576bf6207579a5076" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json new file mode 100644 index 00000000..75037eb5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "aba7c39ebf1ffdf8a6375162985293f8", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4.nfo": "2d5fac3793fb023f2747124a88e147e6", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6.nfo": "934984e21ce69aef9a9f40ad0d4724b0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.nfo": "9023609ca9875c8b3c0ffbe33b215a86", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1.nfo": "8b64e87bddee5badcde8eb0d307e08a2", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1.nfo": "00c9bb36a1c984cb5d45c16a8d78f6dc", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2.nfo": "3d51d52954c371fe67534095bfbe46d1", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3.nfo": "1d1bc8ddaf24a0d53a6e66ddb4212949", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/tvshow.nfo": "21102c93030b3a83946d1b50ace79ce1" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json new file mode 100644 index 00000000..465f52aa --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/tvshow.nfo": "5ae28c70e4a6d36e05c66330961ce8a1" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..89fcbec8 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "6afca05dc8891e4b3b926a9db5ca761b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.nfo": "03918fb48d2d6ca09fb894a99420488d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.nfo": "2455ff137129aa4ddd6876f8aa44ede9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.nfo": "3136f1dbc34996bcc726e411186b6eb9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.nfo": "4a2c78dbb2a6ac9daac547188f422a9e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/tvshow.nfo": "ffa1abee75094d978080d68fffed6697" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json new file mode 100644 index 00000000..e74b683e --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "70d6a306c7ca3570a348eb6bc110bb80", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7.nfo": "769b5eaf87d2f96a8a7d2b9469eb7535", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6.nfo": "288fec241cb4c2d0d39cc779e7a74819", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4.nfo": "0b25735d26b26fe08c642fd3190a1a7d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/tvshow.nfo": "5a75857ad22ffe8361d7b60daf909a50" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..c98cad14 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "70d6a306c7ca3570a348eb6bc110bb80", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7.nfo": "769b5eaf87d2f96a8a7d2b9469eb7535", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6.nfo": "288fec241cb4c2d0d39cc779e7a74819", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.nfo": "d51f42ee105445fe6d562885800acb12", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4.nfo": "0b25735d26b26fe08c642fd3190a1a7d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.nfo": "714e6b3273ab4638f9b1f22d7994ab7a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.nfo": "b18e0f728345bf59c1e23b935b7c562e", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.nfo": "ba5158fa06629c9d3a0b2ca2d193acab", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.nfo": "79e32fdbd6d69db0902c8c141bb17f19", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/tvshow.nfo": "ff1cccb86834205ae3dc3715d9e26990" +} \ 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/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json new file mode 100644 index 00000000..ecb05a78 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "fdb8f34f7cfa39bd1c6d1d254ed587c9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3.nfo": "cd1a035cce7e0a587a7a0d4e9bcc6c38", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2.nfo": "8af613e103e157aeacae59b03ef96a51", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1.nfo": "5a560892c20091c967ce516bb513ed01", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1.nfo": "3aa561adf899beef36634774adbf65f0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/tvshow.nfo": "882d62a8430641a6bb9fe9d584151a5c" +} \ 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/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json new file mode 100644 index 00000000..ea9b5ed3 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "fdb8f34f7cfa39bd1c6d1d254ed587c9", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3.nfo": "cd1a035cce7e0a587a7a0d4e9bcc6c38", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2.nfo": "8af613e103e157aeacae59b03ef96a51", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1.nfo": "5a560892c20091c967ce516bb513ed01", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1.nfo": "3aa561adf899beef36634774adbf65f0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/tvshow.nfo": "cc79a6ec2b960d135cedec8925b4d8ba" +} \ 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/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json new file mode 100644 index 00000000..5b8460f9 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "1b1461a94ba52bdaafebdc6691c39086", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7.nfo": "58bf9732b1fb73e2fdc47826064a9cf3", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6.nfo": "a9dbd99b931eeb59c8c6b4606b01da54", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5.nfo": "18a0a1b633e4e5c0960f6d4795c401e8", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4.nfo": "8f481493151cc8e01670cb37352c7e2c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3.nfo": "d7290109d4bfade6ab78edaf213387ac", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2.nfo": "e634c5dc0ff71f50491f698920ee162a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1.nfo": "14b16d85e76f2fdf82d378e84c189d8b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1.nfo": "98c55a12f8cd758aa9d64272690c3e05", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/tvshow.nfo": "466324d7680cd10ced68b457b7b873ca" +} \ 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/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json new file mode 100644 index 00000000..18c0e373 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "1b1461a94ba52bdaafebdc6691c39086", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7.nfo": "58bf9732b1fb73e2fdc47826064a9cf3", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6.nfo": "a9dbd99b931eeb59c8c6b4606b01da54", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5.nfo": "18a0a1b633e4e5c0960f6d4795c401e8", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4.nfo": "8f481493151cc8e01670cb37352c7e2c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3.nfo": "d7290109d4bfade6ab78edaf213387ac", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2.nfo": "e634c5dc0ff71f50491f698920ee162a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1.nfo": "14b16d85e76f2fdf82d378e84c189d8b", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1.nfo": "98c55a12f8cd758aa9d64272690c3e05", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/tvshow.nfo": "19bcc04897bbe816830e2684be78ef49" +} \ 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/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json new file mode 100644 index 00000000..18a823c4 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json @@ -0,0 +1,17 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "0550ea6b74c5bc72062fd0d9e350c2b1", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1.nfo": "1ac4a4454dc0a98693af3d059bd8213d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1.nfo": "56150c6f2976bd869b62e2761441f715", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2.nfo": "d06d8305896237565be9605ec5d3cdb5", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3.nfo": "90a32ffd9f810b36d1f13486e5160766", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/tvshow.nfo": "a356e5d37c4bae703480d8d9c8e1305f" +} \ 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/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..3ccdd3b7 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json @@ -0,0 +1,19 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "0550ea6b74c5bc72062fd0d9e350c2b1", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1.nfo": "1ac4a4454dc0a98693af3d059bd8213d", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1.nfo": "56150c6f2976bd869b62e2761441f715", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2.nfo": "d06d8305896237565be9605ec5d3cdb5", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3.nfo": "90a32ffd9f810b36d1f13486e5160766", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/tvshow.nfo": "b513f5c9edc544781e451457696d4de1" +} \ 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/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json new file mode 100644 index 00000000..27e0cc84 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json @@ -0,0 +1,30 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "fc910d03e74cd0341c450695f42d4d69", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4.nfo": "d7304d208e57500fb7d6d9edfaa6c3a3", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5.nfo": "efed3fa54ec02248c132accb97932fb7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6.nfo": "8c8f1d16a51e9d0302c267a4a349a28a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7.nfo": "ce873c1426b27a8cab19001987dbaa3c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1.nfo": "24ba0099a742cbd626385acdee6ff8fe", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1.nfo": "a0fd71e882ddab77a7b1684628b74806", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2.nfo": "e0c2b3c3668313fd765877f470c7cff0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3.nfo": "a42f4ccd71849b9b38c7ba35f33654be", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/tvshow.nfo": "40206b0783f2b7526e2138b181ee8cad" +} \ 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/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..64bfe791 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json @@ -0,0 +1,32 @@ +{ + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "fc910d03e74cd0341c450695f42d4d69", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4.nfo": "d7304d208e57500fb7d6d9edfaa6c3a3", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5.nfo": "efed3fa54ec02248c132accb97932fb7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6.nfo": "8c8f1d16a51e9d0302c267a4a349a28a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7.nfo": "ce873c1426b27a8cab19001987dbaa3c", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1.nfo": "24ba0099a742cbd626385acdee6ff8fe", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1.nfo": "a0fd71e882ddab77a7b1684628b74806", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2.nfo": "e0c2b3c3668313fd765877f470c7cff0", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3.mp4": "d9061d3da8601932e98f79ec8ba1c877", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3.nfo": "a42f4ccd71849b9b38c7ba35f33654be", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/tvshow.nfo": "c2aa8f97e727dac0fa3f4888ab3325f1" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json new file mode 100644 index 00000000..ddfcb0ab --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "fca0f5c06bf49d4e45eca00e2fa44aa3", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080701 - 20-3.mp4": "cab9ed5aac7becab5c0c7b5ea0222c23", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080801 - 20-2.mp4": "79789555ebdbbc1ebbb8b394d79603b4", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2020/s2020.e080802 - 20-1.mp4": "cb296812cf1c6ee917e9711cceed7a57", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/Season 2021/s2021.e080801 - 21-1.mp4": "99ebac39126deaf763fa80487c65f7d1", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json new file mode 100644 index 00000000..bf89001d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.json @@ -0,0 +1,13 @@ +{ + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "fca0f5c06bf49d4e45eca00e2fa44aa3", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080701 - 20-3.mp4": "599f2bb9c7ded95692fc1f45dd7b92f5", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080801 - 20-2.mp4": "a625fe03c32f9d358505c273b0b47027", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2020/s2020.e080802 - 20-1.mp4": "647374a02012765f5cd2e7bc38fa677a", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/Season 2021/s2021.e080801 - 21-1.mp4": "16292354fe4bf5ea2221fff4a97de4c4", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json new file mode 100644 index 00000000..ddda68f5 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "b8eb5dfa0df8e9f28a5b7b25a74af1f5", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14698 - 20-1.mp4": "3ea016077180d83cdb8b14d4d3633113", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14699 - 20-2.mp4": "709e65bad87b04f96fcbb44ca28f186b", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2020/s2020.e14799 - 20-3.mp4": "86a1c25f1a6929cc6419fb99b902f5cc", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/Season 2021/s2021.e14699 - 21-1.mp4": "9ec78752586dc3a9539e5a188ff547a2", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json new file mode 100644 index 00000000..256061f6 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.json @@ -0,0 +1,13 @@ +{ + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "b8eb5dfa0df8e9f28a5b7b25a74af1f5", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14698 - 20-1.mp4": "e173e844360f350cc1f46a209e0a9b8f", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14699 - 20-2.mp4": "2a1ecbe4c5da317c4116e45b4c546b74", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2020/s2020.e14799 - 20-3.mp4": "aa9cddf7c916f4c85991289db3c98bff", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/Season 2021/s2021.e14699 - 21-1.mp4": "804c51fcc4951e1a701eb8d405057bfa", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json new file mode 100644 index 00000000..15ecbdfc --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "23fa68bb353c6e104e5b6448f54241da", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0701 - 20-3.mp4": "e785a11897edb516cf847a000097ff6b", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0801 - 20-2.mp4": "99bd8d0b0585ccd2fa583a09e7df4f4f", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202008/s202008.e0802 - 20-1.mp4": "7be8cd1217d7b9e65d3c36a39cdefeef", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/Season 202108/s202108.e0801 - 21-1.mp4": "1639493fed31a1cf5c75381709e54626", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0/poster.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json new file mode 100644 index 00000000..90f9a904 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.json @@ -0,0 +1,13 @@ +{ + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "23fa68bb353c6e104e5b6448f54241da", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0701 - 20-3.mp4": "0efc2782e3612f373b8aa95c4cc5db40", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0801 - 20-2.mp4": "3d2c464f9d05fcf9e5a34824f0dd325e", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202008/s202008.e0802 - 20-1.mp4": "abeaf6b27bfe06e3390c9bbf6cb97bbe", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/Season 202108/s202108.e0801 - 21-1.mp4": "93e98f96fa55a643b2682f8e924ec1a7", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json new file mode 100644 index 00000000..65c534a0 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "a1a10ee2c151be1999960eb2894720e1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000001 - 21-1.mp4": "63733f998e12a533993824e0fa8a6fe9", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000002 - 20-1.mp4": "03320a996e64115ba0f6af87f1eb3628", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000003 - 20-2.mp4": "8240a302bf198c7d8d92b602aa4227af", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season 01/s01.e000004 - 20-3.mp4": "a1fe8b3c64ed438616e0a80b4982fe83", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json new file mode 100644 index 00000000..d919c367 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.json @@ -0,0 +1,14 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "a1a10ee2c151be1999960eb2894720e1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000001 - 21-1.mp4": "c1a3909aff3f6568c0dfa3365eb75eda", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000002 - 20-1.mp4": "04bd8df118e6c531e006020829036971", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000003 - 20-2.mp4": "01c50abd14ce62b201475b05ca3378a8", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season 01/s01.e000004 - 20-3.mp4": "b260eb70aa67fa1d8c77cb7d8e0e91c4", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json new file mode 100644 index 00000000..54256316 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.json @@ -0,0 +1,21 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "0af362a87c1614188ac57c7bdf58975a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000002 - 20-4.mp4": "f9566b53a922f935df37c78c2a254987", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.mp4": "17b0b62972b31719bd9db1eb6c910a7d", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000004 - 20-6.mp4": "fba14e7041a131becdae91a170cf5e19", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 01/s01.e000005 - 20-7.mp4": "8173e90f919ed64ec57bf0d76788ced6", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000001 - 21-1.mp4": "f40a2cbee35b7a4e9ae6170bc0b71258", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000002 - 20-1.mp4": "32c180d5f01e9d236bf9c036629f42f6", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000003 - 20-2.mp4": "a4f49a2df9d4f61bab29070ea97c828b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season 02/s02.e000004 - 20-3.mp4": "b8e588604f5045970867ffe69aa09deb", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json new file mode 100644 index 00000000..9eec2140 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "0af362a87c1614188ac57c7bdf58975a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000002 - 20-4.mp4": "4abe0362ea732f8b15d16dee5f60aa8e", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.mp4": "ecb6b976d623ed2ac6989ab99becfbfb", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000004 - 20-6.mp4": "3e89720bd3daa4f5601b9132a7355c9f", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 01/s01.e000005 - 20-7.mp4": "e529594ff82e3b18def1c1307e48be0a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000001 - 21-1.mp4": "cd97a8c59ed914659101f68cfc52ba1e", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000002 - 20-1.mp4": "f6eaa71f5ffef153f916a7669ea53e3f", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000003 - 20-2.mp4": "fc574f7f826dd220b1003d0e6beabaeb", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season 02/s02.e000004 - 20-3.mp4": "3e661100c66c4e63d26f2389ff38f64c", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json new file mode 100644 index 00000000..b125a88b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "6455f5604169b1a9823aa2e4f3166a1b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000001 - 20-3.mp4": "09c40f0a37d56d9777a4298578dbe91a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000002 - 20-2.mp4": "5c99f51f76247a44d1c43133d003b4b8", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000003 - 20-1.mp4": "c9cabc7be685ac15541ca5d4caa90ca2", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season 01/s01.e000004 - 21-1.mp4": "2d78c2747546845bb8274543cd8ff187", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..47e7ea00 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.json @@ -0,0 +1,14 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "6455f5604169b1a9823aa2e4f3166a1b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000001 - 20-3.mp4": "127f718bff18c445a22d19b3876ee0be", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000002 - 20-2.mp4": "056a5602e7bc1f722bc1c923e0a484c4", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000003 - 20-1.mp4": "70da0af7e20dd15ff85d77e77cb14999", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season 01/s01.e000004 - 21-1.mp4": "bef11d6ed87402515b25b6e7db287ed9", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json new file mode 100644 index 00000000..26a3f973 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.json @@ -0,0 +1,21 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "b8014ef1f268136ab0cab33c6ac338d1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000001 - 20-7.mp4": "c773b2ea6ec5da0e9e7e220401585221", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000002 - 20-6.mp4": "d950a9b851edb020bdc61008d6b5dbcd", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000003 - 20-5.mp4": "d056b6dd9af3fe442ba733aa7cbaaf37", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 01/s01.e000004 - 20-4.mp4": "8c0e139014809f81c76f2f7525ac02ce", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000001 - 20-3.mp4": "19513acaeff65527277a2cf64be2a1bd", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000002 - 20-2.mp4": "c81679ec50dab7f2c32c5b5827201d30", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000003 - 20-1.mp4": "08dc3e005dcbd8ab74a9a04a20ad0b68", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season 02/s02.e000004 - 21-1.mp4": "9c79185570637b3ce8077e21f1d012bf", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..d81aa2e6 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "b8014ef1f268136ab0cab33c6ac338d1", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000001 - 20-7.mp4": "131258bd936eceb3c31c9b79bce58201", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000002 - 20-6.mp4": "fe73217dc247b300d075e493284ef3fc", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000003 - 20-5.mp4": "65e4fd79b5d01ad51cef4006e25ea95f", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 01/s01.e000004 - 20-4.mp4": "38822f305e63013b605ec59740780b76", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000001 - 20-3.mp4": "1655625f374f553f8bc57b99c264c58c", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000002 - 20-2.mp4": "58ce069cbe2aa418288245071b485438", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000003 - 20-1.mp4": "f40eca3cc92ffa660f1978f2f0c09894", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season 02/s02.e000004 - 21-1.mp4": "d7963ad825895a40ffafccb93910b81b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json new file mode 100644 index 00000000..649923a2 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "ef07cf81ca60bcbf80d8374bea37c867", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080701 - 20-3.mp4": "de2867799411a9cb12806b3bafd9fcbc", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080801 - 20-2.mp4": "f7c7bb290f37c2c90dccbabf7c3a4843", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e20080802 - 20-1.mp4": "7ad05795686eb4b30d733552981908da", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season 01/s01.e21080801 - 21-1.mp4": "d8d29f6df03d1876465a39ee79b7433b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json new file mode 100644 index 00000000..4086d0eb --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.json @@ -0,0 +1,14 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "ef07cf81ca60bcbf80d8374bea37c867", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080701 - 20-3.mp4": "6e6fa5fdbd7cf24c4ca54d4d16278231", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080801 - 20-2.mp4": "8f88d6c45e54759b297e19f47d680fee", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e20080802 - 20-1.mp4": "83bd2f7aca928dc88ee9dc457e3e19ca", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season 01/s01.e21080801 - 21-1.mp4": "7c89a9e1bafbce5541e2d4d517f738a7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json new file mode 100644 index 00000000..b308ea00 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.json @@ -0,0 +1,21 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "5341a2f740a38a0bfba924a16f19898f", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20060601 - 20-7.mp4": "2679ff8723789438e6c1f7bb1258d2c2", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070601 - 20-6.mp4": "20e0037b7e1f08fcc9163c9d187165eb", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20070602 - 20-5.mp4": "07b8280b16a9ac0c4363ed5a484c619e", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 01/s01.e20080601 - 20-4.mp4": "63d6b523b691f64fbc0887fd71ae4a55", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080701 - 20-3.mp4": "d3f396e4d532fef5f7cfbf1daabd0f2e", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080801 - 20-2.mp4": "029f69244f5e67a78eafb676298f6c2a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e20080802 - 20-1.mp4": "c1230eddc13a277eebc1b2e4539595c3", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season 02/s02.e21080801 - 21-1.mp4": "ddc66bbb1010e849bf9323618f90e4bd", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json new file mode 100644 index 00000000..055eb9c2 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "5341a2f740a38a0bfba924a16f19898f", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20060601 - 20-7.mp4": "bb68a4966db449eb2e71008e6b23e0fa", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070601 - 20-6.mp4": "6a916126bec7de17ee388a04047eed2b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20070602 - 20-5.mp4": "5949aa414024f7a1fa63dfa30df34425", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 01/s01.e20080601 - 20-4.mp4": "673a506430d70c4915568b3d018d4b17", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080701 - 20-3.mp4": "f345a3b85d3927ebd1b8bfcb3c87c4bf", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080801 - 20-2.mp4": "7e9349b52d5a353e1ac3999ba565bcea", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e20080802 - 20-1.mp4": "184214177f60c1344986bc0e25d0e197", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season 02/s02.e21080801 - 21-1.mp4": "cd17859d72d95ff6143b72ed6b68fd49", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json new file mode 100644 index 00000000..842d8f63 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.json @@ -0,0 +1,12 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "42ec2ae08f46b8d0b0a9e015f459b933", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e79052499 - 21-1.mp4": "038fc1d1933d7ec8f78267a5bde27ee2", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052498 - 20-1.mp4": "13c84f9b6b544b79c8a9983d279a21bb", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052499 - 20-2.mp4": "a04cdc9984044b8e8a2b71d7628ad7c7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season 01/s01.e80052599 - 20-3.mp4": "5df77e6b4f1f5c982c09dd76da0b62e7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json new file mode 100644 index 00000000..8edbfa2e --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.json @@ -0,0 +1,14 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "42ec2ae08f46b8d0b0a9e015f459b933", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e79052499 - 21-1.mp4": "017b27508e09cbfc8c7aa313348ffcf0", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052498 - 20-1.mp4": "4226eee08c9171f9a54f224697486a0a", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052499 - 20-2.mp4": "f965b356e9b5c6486b13a79eea285203", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season 01/s01.e80052599 - 20-3.mp4": "bbbbce537ec54d76d4026e8776ceccda", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json new file mode 100644 index 00000000..1885c873 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.json @@ -0,0 +1,21 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/.ytdl-sub-subscription_test-download-archive.json": "7504e260c2187ad20810f8079cb4c9c8", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80052699 - 20-4.mp4": "889e9d94ef18962001bfdad80af4085b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062698 - 20-5.mp4": "fb69d1a9da3d212cac72babed94327e9", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80062699 - 20-6.mp4": "3f9bc7ad5e7ef49d00f8366436568408", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 01/s01.e80072599 - 20-7.mp4": "f82548d6836560c3493b086c64246df7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e79052499 - 21-1.mp4": "cdfc6ebfa88c3ff5fe95187ff4c4d8a0", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052498 - 20-1.mp4": "5976f7e4abc45c3df4a7d059ef9ba8f4", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052499 - 20-2.mp4": "8373eba6bb6455b79ecdd8ee3c1951ef", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season 02/s02.e80052599 - 20-3.mp4": "65fa0bb34dbc6b6d9e57eb3a3cd9e465", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json new file mode 100644 index 00000000..1cc41244 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.json @@ -0,0 +1,23 @@ +{ + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/.ytdl-sub-subscription_test-download-archive.json": "7504e260c2187ad20810f8079cb4c9c8", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80052699 - 20-4.mp4": "27cfc580f54241aa1954c8ef2e1c09ba", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062698 - 20-5.mp4": "772c5d0b7ced4b8fda2b33d3188557dc", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80062699 - 20-6.mp4": "4d69ee5325ab5122bd458e53709e780b", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 01/s01.e80072599 - 20-7.mp4": "f36d95f84e50c83a1067b419b3472b29", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e79052499 - 21-1.mp4": "3af69de909dae34597e19f43ea5b9d27", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052498 - 20-1.mp4": "f65f2dad62df22fd83a55c7c47a7392f", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052499 - 20-2.mp4": "6abfb3c1a482876d621007cb273d7a14", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season 02/s02.e80052599 - 20-3.mp4": "edd9af9980e912cf28ff6abe1d2df80d", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/youtube/test_channel_full.json b/tests/resources/expected_downloads_summaries/youtube/test_channel_full.json index 1b96161f..3522badc 100644 --- a/tests/resources/expected_downloads_summaries/youtube/test_channel_full.json +++ b/tests/resources/expected_downloads_summaries/youtube/test_channel_full.json @@ -1,52 +1,52 @@ { ".ytdl-sub-pz-download-archive.json": "70615451318cdb5e018e007c77893a39", "Season 2010/s2010.e0813 - Oblivion Mod "Falcor" p.1-thumb.jpg": "fb95b510681676e81c321171fc23143e", - "Season 2010/s2010.e0813 - Oblivion Mod "Falcor" p.1.info.json": "8162ab83174c04a8e71e93918fe33582", + "Season 2010/s2010.e0813 - Oblivion Mod "Falcor" p.1.info.json": "7dfaf9b266ca198b132793a7e0dab6bc", "Season 2010/s2010.e0813 - Oblivion Mod "Falcor" p.1.mp4": "931a705864c57d21d6fedebed4af6bbc", "Season 2010/s2010.e0813 - Oblivion Mod "Falcor" p.1.nfo": "a71a34a60c67b939a38c2c342df0c436", "Season 2010/s2010.e1202 - Oblivion Mod "Falcor" p.2-thumb.jpg": "8b32ee9c037fa669e444a0ac181525a1", - "Season 2010/s2010.e1202 - Oblivion Mod "Falcor" p.2.info.json": "4c900235e4c2fa5b1a4b92c7c9dd0899", + "Season 2010/s2010.e1202 - Oblivion Mod "Falcor" p.2.info.json": "9367670477c831221e93546ea59dd9a1", "Season 2010/s2010.e1202 - Oblivion Mod "Falcor" p.2.mp4": "0b11a785addfac82a6c1dbc897c0a8f9", "Season 2010/s2010.e1202 - Oblivion Mod "Falcor" p.2.nfo": "5dd3914f929f1a06e9020ddfdf31cacf", "Season 2011/s2011.e0201 - Jesse's Minecraft Server [Trailer - Feb.1]-thumb.jpg": "b232d253df621aa770b780c1301d364d", - "Season 2011/s2011.e0201 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "6fd237f5da53a8b286c8c73300026b33", + "Season 2011/s2011.e0201 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "a233fa8165ba9062d1db82397137d6a7", "Season 2011/s2011.e0201 - Jesse's Minecraft Server [Trailer - Feb.1].mp4": "e66287b9832277b6a4d1554e29d9fdcc", "Season 2011/s2011.e0201 - Jesse's Minecraft Server [Trailer - Feb.1].nfo": "4eb6ba6910aa5f930625c2a955330051", "Season 2011/s2011.e0227 - Jesse's Minecraft Server [Trailer - Feb.27]-thumb.jpg": "d17c379ea8b362f5b97c6b213b0342cb", - "Season 2011/s2011.e0227 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "a0c41b44dcb5b131a6731d5cbdc05a42", + "Season 2011/s2011.e0227 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "dce28429b92db6963ac7c079a070d38b", "Season 2011/s2011.e0227 - Jesse's Minecraft Server [Trailer - Feb.27].mp4": "04ab5cb3cc12325d0c96a7cd04a8b91d", "Season 2011/s2011.e0227 - Jesse's Minecraft Server [Trailer - Feb.27].nfo": "2a4a319266f3b672f409c29983390404", "Season 2011/s2011.e0321 - Jesse's Minecraft Server [Trailer - Mar.21]-thumb.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", - "Season 2011/s2011.e0321 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "d4fad833885df7a2e7cca00b159c034f", + "Season 2011/s2011.e0321 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "4710a4254ccc0e525849116511272f23", "Season 2011/s2011.e0321 - Jesse's Minecraft Server [Trailer - Mar.21].mp4": "025de6099a5c98e6397153c7a62d517d", "Season 2011/s2011.e0321 - Jesse's Minecraft Server [Trailer - Mar.21].nfo": "cb65c7a45d81444e7bfc5d2e64f4423d", "Season 2011/s2011.e0529 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net)-thumb.jpg": "c956192a379b3661595c9920972d4819", - "Season 2011/s2011.e0529 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).info.json": "cc20bc44f76eb329294ecb0114595466", + "Season 2011/s2011.e0529 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).info.json": "759a21b918b5dd1571e21f2364500b09", "Season 2011/s2011.e0529 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).mp4": "3d9c19835b03355d6fd5d00cd59dbe5b", "Season 2011/s2011.e0529 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).nfo": "99e8f5da8ebb7bfbe6a27799465a39c0", "Season 2011/s2011.e0630 - Project Zombie |Fin|-thumb.jpg": "00ed383591779ffe98291de60f198fe9", - "Season 2011/s2011.e0630 - Project Zombie |Fin|.info.json": "b8635b4e213f63d0389d9e310dae78e5", + "Season 2011/s2011.e0630 - Project Zombie |Fin|.info.json": "13bb34606b51b0afeacc06c17862ed79", "Season 2011/s2011.e0630 - Project Zombie |Fin|.mp4": "4971cb2d4fa29460361031f3fa8e1ea9", "Season 2011/s2011.e0630 - Project Zombie |Fin|.nfo": "7d751a80d3a2dec151602514278998c7", "Season 2011/s2011.e1121 - Skyrim 'Ultra HD w⧸Mods' [PC]-thumb.jpg": "1718599d5189c65f7d8cf6acfa5ea851", - "Season 2011/s2011.e1121 - Skyrim 'Ultra HD w⧸Mods' [PC].info.json": "26ffbfa7dd9eaab4ca896ed01821755d", + "Season 2011/s2011.e1121 - Skyrim 'Ultra HD w⧸Mods' [PC].info.json": "5a3787a3b693a0a0af9db8e04d778cde", "Season 2011/s2011.e1121 - Skyrim 'Ultra HD w⧸Mods' [PC].mp4": "55e9b0add08c48c9c66105da0def2426", "Season 2011/s2011.e1121 - Skyrim 'Ultra HD w⧸Mods' [PC].nfo": "40f104e94e69648ffe692137a9523412", "Season 2012/s2012.e0123 - Project Zombie |Map Trailer|-thumb.jpg": "54ebe9df801b278fdd17b21afa8373a6", - "Season 2012/s2012.e0123 - Project Zombie |Map Trailer|.info.json": "b2100b696ca355dfe8a69935db661a30", + "Season 2012/s2012.e0123 - Project Zombie |Map Trailer|.info.json": "f87900279b45ecf2a7f48751903f50eb", "Season 2012/s2012.e0123 - Project Zombie |Map Trailer|.mp4": "65e4ce53ed5ec4139995469f99477a50", "Season 2012/s2012.e0123 - Project Zombie |Map Trailer|.nfo": "552328911403e2f8092d10b53ac44680", "Season 2013/s2013.e0719 - Project Zombie Rewind |Trailer|-thumb.jpg": "e29d49433175de8a761af35c5307791f", - "Season 2013/s2013.e0719 - Project Zombie Rewind |Trailer|.info.json": "c25c0d80276113b10ab3bd30dd186cd0", + "Season 2013/s2013.e0719 - Project Zombie Rewind |Trailer|.info.json": "e97091c596b7032720858f21c96abd87", "Season 2013/s2013.e0719 - Project Zombie Rewind |Trailer|.mp4": "18620a8257a686beda65e54add4d4cd1", "Season 2013/s2013.e0719 - Project Zombie Rewind |Trailer|.nfo": "bcb859f3ba37eafa902cd470bfa600c2", "Season 2018/s2018.e1029 - Jesse's Minecraft Server | Teaser Trailer-thumb.jpg": "705ca4e0d99b37e9ecdf6bfe4b90c59b", - "Season 2018/s2018.e1029 - Jesse's Minecraft Server | Teaser Trailer.info.json": "77ac922edf69bcf25fab14392b7f8a4e", + "Season 2018/s2018.e1029 - Jesse's Minecraft Server | Teaser Trailer.info.json": "1af2abd526198bf6973f2cb6a0b20056", "Season 2018/s2018.e1029 - Jesse's Minecraft Server | Teaser Trailer.mp4": "82f6ee7253e1dbb83ae7215af08ffacc", "Season 2018/s2018.e1029 - Jesse's Minecraft Server | Teaser Trailer.nfo": "c07d29f2f98ac674dffbcd1e55c860ff", "Season 2018/s2018.e1102 - Jesse's Minecraft Server | IP mc.jesse.id-thumb.jpg": "28d852ede73b879b9ebf9a061cfc7d46", "Season 2018/s2018.e1102 - Jesse's Minecraft Server | IP mc.jesse.id.en.srt": "3d2c4e7f65d2ca5e96da38ce7eecfc4e", - "Season 2018/s2018.e1102 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "89ef929dc967e4e80ef51cbd19502c66", + "Season 2018/s2018.e1102 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "0923605d0327411b3a6ea43c2eb15626", "Season 2018/s2018.e1102 - Jesse's Minecraft Server | IP mc.jesse.id.mp4": "e733b4cc385b953b08c8eb0f47e03c1e", "Season 2018/s2018.e1102 - Jesse's Minecraft Server | IP mc.jesse.id.nfo": "0a7aa028f2acf0380d00ce32bf72199a", "fanart.jpg": "129c6639b47299bc48062f0365e670ee", diff --git a/tests/resources/file_fixtures/fanart.jpeg b/tests/resources/file_fixtures/fanart.jpeg new file mode 100644 index 00000000..2ab3d9f7 Binary files /dev/null and b/tests/resources/file_fixtures/fanart.jpeg differ diff --git a/tests/resources/file_fixtures/poster.jpg b/tests/resources/file_fixtures/poster.jpg new file mode 100644 index 00000000..955dcabe Binary files /dev/null and b/tests/resources/file_fixtures/poster.jpg differ diff --git a/tests/resources/file_fixtures/sample_vid.mp4 b/tests/resources/file_fixtures/sample_vid.mp4 new file mode 100644 index 00000000..b11552f9 Binary files /dev/null and b/tests/resources/file_fixtures/sample_vid.mp4 differ diff --git a/tests/resources/file_fixtures/thumb.jpg b/tests/resources/file_fixtures/thumb.jpg new file mode 100644 index 00000000..b3b67ba4 Binary files /dev/null and b/tests/resources/file_fixtures/thumb.jpg differ diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt new file mode 100644 index 00000000..4ef87173 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt @@ -0,0 +1,55 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0 +{output_directory}/Season 2020 + s2020.e080701 - 20-3-thumb.jpg + s2020.e080701 - 20-3.mp4 + s2020.e080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 807 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e080801 - 20-2-thumb.jpg + s2020.e080801 - 20-2.mp4 + s2020.e080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e080802 - 20-1-thumb.jpg + s2020.e080802 - 20-1.mp4 + s2020.e080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080801 - 21-1-thumb.jpg + s2021.e080801 - 21-1.mp4 + s2021.e080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt new file mode 100644 index 00000000..5d9431aa --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt @@ -0,0 +1,56 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1 +{output_directory}/Season 2020 + s2020.e080701 - 20-3-thumb.jpg + s2020.e080701 - 20-3.mp4 + s2020.e080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 807 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e080801 - 20-2-thumb.jpg + s2020.e080801 - 20-2.mp4 + s2020.e080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e080802 - 20-1-thumb.jpg + s2020.e080802 - 20-1.mp4 + s2020.e080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080801 - 21-1-thumb.jpg + s2021.e080801 - 21-1.mp4 + s2021.e080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt new file mode 100644 index 00000000..efc2b000 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt @@ -0,0 +1,55 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0 +{output_directory}/Season 2020 + s2020.e14698 - 20-1-thumb.jpg + s2020.e14698 - 20-1.mp4 + s2020.e14698 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14698 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e14699 - 20-2-thumb.jpg + s2020.e14699 - 20-2.mp4 + s2020.e14699 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14699 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e14799 - 20-3-thumb.jpg + s2020.e14799 - 20-3.mp4 + s2020.e14799 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 14799 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 +{output_directory}/Season 2021 + s2021.e14699 - 21-1-thumb.jpg + s2021.e14699 - 21-1.mp4 + s2021.e14699 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14699 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt new file mode 100644 index 00000000..87292bf5 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt @@ -0,0 +1,56 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1 +{output_directory}/Season 2020 + s2020.e14698 - 20-1-thumb.jpg + s2020.e14698 - 20-1.mp4 + s2020.e14698 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14698 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e14699 - 20-2-thumb.jpg + s2020.e14699 - 20-2.mp4 + s2020.e14699 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14699 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e14799 - 20-3-thumb.jpg + s2020.e14799 - 20-3.mp4 + s2020.e14799 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 14799 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 +{output_directory}/Season 2021 + s2021.e14699 - 21-1-thumb.jpg + s2021.e14699 - 21-1.mp4 + s2021.e14699 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14699 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt new file mode 100644 index 00000000..f3d3eed0 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt @@ -0,0 +1,55 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0 +{output_directory}/Season 202008 + s202008.e0701 - 20-3-thumb.jpg + s202008.e0701 - 20-3.mp4 + s202008.e0701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 7 + plot: https://20-3.com + season: 202008 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s202008.e0801 - 20-2-thumb.jpg + s202008.e0801 - 20-2.mp4 + s202008.e0801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-2.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s202008.e0802 - 20-1-thumb.jpg + s202008.e0802 - 20-1.mp4 + s202008.e0802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-1.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 202108 + s202108.e0801 - 21-1-thumb.jpg + s202108.e0801 - 21-1.mp4 + s202108.e0801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://21-1.com + season: 202108 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt new file mode 100644 index 00000000..93bb8c78 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt @@ -0,0 +1,56 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_jellyfin_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1 +{output_directory}/Season 202008 + s202008.e0701 - 20-3-thumb.jpg + s202008.e0701 - 20-3.mp4 + s202008.e0701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 7 + plot: https://20-3.com + season: 202008 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s202008.e0801 - 20-2-thumb.jpg + s202008.e0801 - 20-2.mp4 + s202008.e0801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-2.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s202008.e0802 - 20-1-thumb.jpg + s202008.e0802 - 20-1.mp4 + s202008.e0802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-1.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 202108 + s202108.e0801 - 21-1-thumb.jpg + s202108.e0801 - 21-1.mp4 + s202108.e0801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://21-1.com + season: 202108 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt new file mode 100644 index 00000000..66eaca06 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 21-1-thumb.jpg + s01.e000001 - 21-1.mp4 + s01.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000002 - 20-1-thumb.jpg + s01.e000002 - 20-1.mp4 + s01.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-2-thumb.jpg + s01.e000003 - 20-2.mp4 + s01.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000004 - 20-3-thumb.jpg + s01.e000004 - 20-3.mp4 + s01.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt new file mode 100644 index 00000000..acfe7405 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 21-1-thumb.jpg + s01.e000001 - 21-1.mp4 + s01.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000002 - 20-1-thumb.jpg + s01.e000002 - 20-1.mp4 + s01.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-2-thumb.jpg + s01.e000003 - 20-2.mp4 + s01.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000004 - 20-3-thumb.jpg + s01.e000004 - 20-3.mp4 + s01.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt new file mode 100644 index 00000000..c29f3c90 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e000002 - 20-4-thumb.jpg + s01.e000002 - 20-4.mp4 + s01.e000002 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 2 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-6-thumb.jpg + s01.e000004 - 20-6.mp4 + s01.e000004 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 4 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 21-1-thumb.jpg + s02.e000001 - 21-1.mp4 + s02.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000002 - 20-1-thumb.jpg + s02.e000002 - 20-1.mp4 + s02.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-2-thumb.jpg + s02.e000003 - 20-2.mp4 + s02.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000004 - 20-3-thumb.jpg + s02.e000004 - 20-3.mp4 + s02.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt new file mode 100644 index 00000000..1e40b7f1 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e000002 - 20-4-thumb.jpg + s01.e000002 - 20-4.mp4 + s01.e000002 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 2 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-6-thumb.jpg + s01.e000004 - 20-6.mp4 + s01.e000004 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 4 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 21-1-thumb.jpg + s02.e000001 - 21-1.mp4 + s02.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000002 - 20-1-thumb.jpg + s02.e000002 - 20-1.mp4 + s02.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-2-thumb.jpg + s02.e000003 - 20-2.mp4 + s02.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000004 - 20-3-thumb.jpg + s02.e000004 - 20-3.mp4 + s02.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index_reversed/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt new file mode 100644 index 00000000..e9a96284 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..10a2a2c3 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt new file mode 100644 index 00000000..4e93438d --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 20-7-thumb.jpg + s01.e000001 - 20-7.mp4 + s01.e000001 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 1 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - 20-6-thumb.jpg + s01.e000002 - 20-6.mp4 + s01.e000002 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 2 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-4-thumb.jpg + s01.e000004 - 20-4.mp4 + s01.e000004 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 4 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..54759ab8 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 20-7-thumb.jpg + s01.e000001 - 20-7.mp4 + s01.e000001 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 1 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - 20-6-thumb.jpg + s01.e000002 - 20-6.mp4 + s01.e000002 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 2 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-4-thumb.jpg + s01.e000004 - 20-4.mp4 + s01.e000004 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 4 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt new file mode 100644 index 00000000..3e248b9d --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e20080701 - 20-3-thumb.jpg + s01.e20080701 - 20-3.mp4 + s01.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e20080801 - 20-2-thumb.jpg + s01.e20080801 - 20-2.mp4 + s01.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e20080802 - 20-1-thumb.jpg + s01.e20080802 - 20-1.mp4 + s01.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e21080801 - 21-1-thumb.jpg + s01.e21080801 - 21-1.mp4 + s01.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt new file mode 100644 index 00000000..ef2dc432 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e20080701 - 20-3-thumb.jpg + s01.e20080701 - 20-3.mp4 + s01.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e20080801 - 20-2-thumb.jpg + s01.e20080801 - 20-2.mp4 + s01.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e20080802 - 20-1-thumb.jpg + s01.e20080802 - 20-1.mp4 + s01.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e21080801 - 21-1-thumb.jpg + s01.e21080801 - 21-1.mp4 + s01.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt new file mode 100644 index 00000000..1b48c978 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e20060601 - 20-7-thumb.jpg + s01.e20060601 - 20-7.mp4 + s01.e20060601 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 20060601 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e20070601 - 20-6-thumb.jpg + s01.e20070601 - 20-6.mp4 + s01.e20070601 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070601 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e20070602 - 20-5-thumb.jpg + s01.e20070602 - 20-5.mp4 + s01.e20070602 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070602 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e20080601 - 20-4-thumb.jpg + s01.e20080601 - 20-4.mp4 + s01.e20080601 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 20080601 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e20080701 - 20-3-thumb.jpg + s02.e20080701 - 20-3.mp4 + s02.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e20080801 - 20-2-thumb.jpg + s02.e20080801 - 20-2.mp4 + s02.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e20080802 - 20-1-thumb.jpg + s02.e20080802 - 20-1.mp4 + s02.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e21080801 - 21-1-thumb.jpg + s02.e21080801 - 21-1.mp4 + s02.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt new file mode 100644 index 00000000..be6f6193 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e20060601 - 20-7-thumb.jpg + s01.e20060601 - 20-7.mp4 + s01.e20060601 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 20060601 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e20070601 - 20-6-thumb.jpg + s01.e20070601 - 20-6.mp4 + s01.e20070601 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070601 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e20070602 - 20-5-thumb.jpg + s01.e20070602 - 20-5.mp4 + s01.e20070602 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070602 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e20080601 - 20-4-thumb.jpg + s01.e20080601 - 20-4.mp4 + s01.e20080601 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 20080601 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e20080701 - 20-3-thumb.jpg + s02.e20080701 - 20-3.mp4 + s02.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e20080801 - 20-2-thumb.jpg + s02.e20080801 - 20-2.mp4 + s02.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e20080802 - 20-1-thumb.jpg + s02.e20080802 - 20-1.mp4 + s02.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e21080801 - 21-1-thumb.jpg + s02.e21080801 - 21-1.mp4 + s02.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt new file mode 100644 index 00000000..12c14f57 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e79052499 - 21-1-thumb.jpg + s01.e79052499 - 21-1.mp4 + s01.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e80052498 - 20-1-thumb.jpg + s01.e80052498 - 20-1.mp4 + s01.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e80052499 - 20-2-thumb.jpg + s01.e80052499 - 20-2.mp4 + s01.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e80052599 - 20-3-thumb.jpg + s01.e80052599 - 20-3.mp4 + s01.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..2a8c9610 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e79052499 - 21-1-thumb.jpg + s01.e79052499 - 21-1.mp4 + s01.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e80052498 - 20-1-thumb.jpg + s01.e80052498 - 20-1.mp4 + s01.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e80052499 - 20-2-thumb.jpg + s01.e80052499 - 20-2.mp4 + s01.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e80052599 - 20-3-thumb.jpg + s01.e80052599 - 20-3.mp4 + s01.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt new file mode 100644 index 00000000..dbb7a258 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e80052699 - 20-4-thumb.jpg + s01.e80052699 - 20-4.mp4 + s01.e80052699 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 80052699 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e80062698 - 20-5-thumb.jpg + s01.e80062698 - 20-5.mp4 + s01.e80062698 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062698 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e80062699 - 20-6-thumb.jpg + s01.e80062699 - 20-6.mp4 + s01.e80062699 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062699 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e80072599 - 20-7-thumb.jpg + s01.e80072599 - 20-7.mp4 + s01.e80072599 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 80072599 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e79052499 - 21-1-thumb.jpg + s02.e79052499 - 21-1.mp4 + s02.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e80052498 - 20-1-thumb.jpg + s02.e80052498 - 20-1.mp4 + s02.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e80052499 - 20-2-thumb.jpg + s02.e80052499 - 20-2.mp4 + s02.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e80052599 - 20-3-thumb.jpg + s02.e80052599 - 20-3.mp4 + s02.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + 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/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..42b3da84 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_jellyfin_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e80052699 - 20-4-thumb.jpg + s01.e80052699 - 20-4.mp4 + s01.e80052699 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 80052699 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e80062698 - 20-5-thumb.jpg + s01.e80062698 - 20-5.mp4 + s01.e80062698 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062698 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e80062699 - 20-6-thumb.jpg + s01.e80062699 - 20-6.mp4 + s01.e80062699 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062699 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e80072599 - 20-7-thumb.jpg + s01.e80072599 - 20-7.mp4 + s01.e80072599 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 80072599 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e79052499 - 21-1-thumb.jpg + s02.e79052499 - 21-1.mp4 + s02.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e80052498 - 20-1-thumb.jpg + s02.e80052498 - 20-1.mp4 + s02.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e80052499 - 20-2-thumb.jpg + s02.e80052499 - 20-2.mp4 + s02.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e80052599 - 20-3-thumb.jpg + s02.e80052599 - 20-3.mp4 + s02.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt new file mode 100644 index 00000000..35c111e3 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt @@ -0,0 +1,55 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0 +{output_directory}/Season 2020 + s2020.e080701 - 20-3-thumb.jpg + s2020.e080701 - 20-3.mp4 + s2020.e080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 807 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e080801 - 20-2-thumb.jpg + s2020.e080801 - 20-2.mp4 + s2020.e080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e080802 - 20-1-thumb.jpg + s2020.e080802 - 20-1.mp4 + s2020.e080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080801 - 21-1-thumb.jpg + s2021.e080801 - 21-1.mp4 + s2021.e080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt new file mode 100644 index 00000000..b7875245 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt @@ -0,0 +1,56 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1 +{output_directory}/Season 2020 + s2020.e080701 - 20-3-thumb.jpg + s2020.e080701 - 20-3.mp4 + s2020.e080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 807 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e080801 - 20-2-thumb.jpg + s2020.e080801 - 20-2.mp4 + s2020.e080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e080802 - 20-1-thumb.jpg + s2020.e080802 - 20-1.mp4 + s2020.e080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 808 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080801 - 21-1-thumb.jpg + s2021.e080801 - 21-1.mp4 + s2021.e080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 808 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt new file mode 100644 index 00000000..19d85b35 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt @@ -0,0 +1,55 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0 +{output_directory}/Season 2020 + s2020.e14698 - 20-1-thumb.jpg + s2020.e14698 - 20-1.mp4 + s2020.e14698 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14698 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e14699 - 20-2-thumb.jpg + s2020.e14699 - 20-2.mp4 + s2020.e14699 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14699 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e14799 - 20-3-thumb.jpg + s2020.e14799 - 20-3.mp4 + s2020.e14799 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 14799 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 +{output_directory}/Season 2021 + s2021.e14699 - 21-1-thumb.jpg + s2021.e14699 - 21-1.mp4 + s2021.e14699 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14699 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt new file mode 100644 index 00000000..a8fc64e0 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt @@ -0,0 +1,56 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1 +{output_directory}/Season 2020 + s2020.e14698 - 20-1-thumb.jpg + s2020.e14698 - 20-1.mp4 + s2020.e14698 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14698 + plot: https://20-1.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e14699 - 20-2-thumb.jpg + s2020.e14699 - 20-2.mp4 + s2020.e14699 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 14699 + plot: https://20-2.com + season: 2020 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e14799 - 20-3-thumb.jpg + s2020.e14799 - 20-3.mp4 + s2020.e14799 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 14799 + plot: https://20-3.com + season: 2020 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 +{output_directory}/Season 2021 + s2021.e14699 - 21-1-thumb.jpg + s2021.e14699 - 21-1.mp4 + s2021.e14699 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 14699 + plot: https://21-1.com + season: 2021 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt new file mode 100644 index 00000000..cd545143 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt @@ -0,0 +1,55 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0 +{output_directory}/Season 202008 + s202008.e0701 - 20-3-thumb.jpg + s202008.e0701 - 20-3.mp4 + s202008.e0701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 7 + plot: https://20-3.com + season: 202008 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s202008.e0801 - 20-2-thumb.jpg + s202008.e0801 - 20-2.mp4 + s202008.e0801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-2.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s202008.e0802 - 20-1-thumb.jpg + s202008.e0802 - 20-1.mp4 + s202008.e0802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-1.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 202108 + s202108.e0801 - 21-1-thumb.jpg + s202108.e0801 - 21-1.mp4 + s202108.e0801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://21-1.com + season: 202108 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt new file mode 100644 index 00000000..9313401e --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt @@ -0,0 +1,56 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + tvshow.nfo + NFO tags: + tvshow: + title: unit_kodi_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1 +{output_directory}/Season 202008 + s202008.e0701 - 20-3-thumb.jpg + s202008.e0701 - 20-3.mp4 + s202008.e0701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 7 + plot: https://20-3.com + season: 202008 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s202008.e0801 - 20-2-thumb.jpg + s202008.e0801 - 20-2.mp4 + s202008.e0801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-2.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s202008.e0802 - 20-1-thumb.jpg + s202008.e0802 - 20-1.mp4 + s202008.e0802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 8 + plot: https://20-1.com + season: 202008 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 202108 + s202108.e0801 - 21-1-thumb.jpg + s202108.e0801 - 21-1.mp4 + s202108.e0801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 8 + plot: https://21-1.com + season: 202108 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt new file mode 100644 index 00000000..0d97194d --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 21-1-thumb.jpg + s01.e000001 - 21-1.mp4 + s01.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000002 - 20-1-thumb.jpg + s01.e000002 - 20-1.mp4 + s01.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-2-thumb.jpg + s01.e000003 - 20-2.mp4 + s01.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000004 - 20-3-thumb.jpg + s01.e000004 - 20-3.mp4 + s01.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt new file mode 100644 index 00000000..4ba69229 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 21-1-thumb.jpg + s01.e000001 - 21-1.mp4 + s01.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000002 - 20-1-thumb.jpg + s01.e000002 - 20-1.mp4 + s01.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-2-thumb.jpg + s01.e000003 - 20-2.mp4 + s01.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000004 - 20-3-thumb.jpg + s01.e000004 - 20-3.mp4 + s01.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt new file mode 100644 index 00000000..7fa34ad1 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e000002 - 20-4-thumb.jpg + s01.e000002 - 20-4.mp4 + s01.e000002 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 2 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-6-thumb.jpg + s01.e000004 - 20-6.mp4 + s01.e000004 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 4 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 21-1-thumb.jpg + s02.e000001 - 21-1.mp4 + s02.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000002 - 20-1-thumb.jpg + s02.e000002 - 20-1.mp4 + s02.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-2-thumb.jpg + s02.e000003 - 20-2.mp4 + s02.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000004 - 20-3-thumb.jpg + s02.e000004 - 20-3.mp4 + s02.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt new file mode 100644 index 00000000..e51b0d8d --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e000002 - 20-4-thumb.jpg + s01.e000002 - 20-4.mp4 + s01.e000002 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 2 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-6-thumb.jpg + s01.e000004 - 20-6.mp4 + s01.e000004 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 4 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + s01.e000005 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 5 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 21-1-thumb.jpg + s02.e000001 - 21-1.mp4 + s02.e000001 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 1 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000002 - 20-1-thumb.jpg + s02.e000002 - 20-1.mp4 + s02.e000002 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-2-thumb.jpg + s02.e000003 - 20-2.mp4 + s02.e000003 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000004 - 20-3-thumb.jpg + s02.e000004 - 20-3.mp4 + s02.e000004 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 4 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + 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_playlist_index_reversed/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt new file mode 100644 index 00000000..f59226ab --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..4723fb71 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + s01.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + s01.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + s01.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + s01.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt new file mode 100644 index 00000000..92e2bf81 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e000001 - 20-7-thumb.jpg + s01.e000001 - 20-7.mp4 + s01.e000001 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 1 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - 20-6-thumb.jpg + s01.e000002 - 20-6.mp4 + s01.e000002 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 2 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-4-thumb.jpg + s01.e000004 - 20-4.mp4 + s01.e000004 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 4 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..f62f3ed3 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e000001 - 20-7-thumb.jpg + s01.e000001 - 20-7.mp4 + s01.e000001 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 1 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - 20-6-thumb.jpg + s01.e000002 - 20-6.mp4 + s01.e000002 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 2 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + s01.e000003 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 3 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-4-thumb.jpg + s01.e000004 - 20-4.mp4 + s01.e000004 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 4 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + s02.e000001 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 1 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + s02.e000002 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 2 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + s02.e000003 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 3 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + s02.e000004 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 4 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt new file mode 100644 index 00000000..ccea9df4 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e20080701 - 20-3-thumb.jpg + s01.e20080701 - 20-3.mp4 + s01.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e20080801 - 20-2-thumb.jpg + s01.e20080801 - 20-2.mp4 + s01.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e20080802 - 20-1-thumb.jpg + s01.e20080802 - 20-1.mp4 + s01.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e21080801 - 21-1-thumb.jpg + s01.e21080801 - 21-1.mp4 + s01.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt new file mode 100644 index 00000000..29739ac8 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e20080701 - 20-3-thumb.jpg + s01.e20080701 - 20-3.mp4 + s01.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e20080801 - 20-2-thumb.jpg + s01.e20080801 - 20-2.mp4 + s01.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e20080802 - 20-1-thumb.jpg + s01.e20080802 - 20-1.mp4 + s01.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e21080801 - 21-1-thumb.jpg + s01.e21080801 - 21-1.mp4 + s01.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt new file mode 100644 index 00000000..eead098b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e20060601 - 20-7-thumb.jpg + s01.e20060601 - 20-7.mp4 + s01.e20060601 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 20060601 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e20070601 - 20-6-thumb.jpg + s01.e20070601 - 20-6.mp4 + s01.e20070601 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070601 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e20070602 - 20-5-thumb.jpg + s01.e20070602 - 20-5.mp4 + s01.e20070602 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070602 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e20080601 - 20-4-thumb.jpg + s01.e20080601 - 20-4.mp4 + s01.e20080601 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 20080601 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e20080701 - 20-3-thumb.jpg + s02.e20080701 - 20-3.mp4 + s02.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e20080801 - 20-2-thumb.jpg + s02.e20080801 - 20-2.mp4 + s02.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e20080802 - 20-1-thumb.jpg + s02.e20080802 - 20-1.mp4 + s02.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e21080801 - 21-1-thumb.jpg + s02.e21080801 - 21-1.mp4 + s02.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt new file mode 100644 index 00000000..0feb0dfd --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e20060601 - 20-7-thumb.jpg + s01.e20060601 - 20-7.mp4 + s01.e20060601 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 20060601 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e20070601 - 20-6-thumb.jpg + s01.e20070601 - 20-6.mp4 + s01.e20070601 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070601 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e20070602 - 20-5-thumb.jpg + s01.e20070602 - 20-5.mp4 + s01.e20070602 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 20070602 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e20080601 - 20-4-thumb.jpg + s01.e20080601 - 20-4.mp4 + s01.e20080601 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 20080601 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e20080701 - 20-3-thumb.jpg + s02.e20080701 - 20-3.mp4 + s02.e20080701 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 20080701 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e20080801 - 20-2-thumb.jpg + s02.e20080801 - 20-2.mp4 + s02.e20080801 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080801 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e20080802 - 20-1-thumb.jpg + s02.e20080802 - 20-1.mp4 + s02.e20080802 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 20080802 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e21080801 - 21-1-thumb.jpg + s02.e21080801 - 21-1.mp4 + s02.e21080801 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 21080801 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt new file mode 100644 index 00000000..ad09d36b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt @@ -0,0 +1,58 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0 +{output_directory}/Season 01 + s01.e79052499 - 21-1-thumb.jpg + s01.e79052499 - 21-1.mp4 + s01.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e80052498 - 20-1-thumb.jpg + s01.e80052498 - 20-1.mp4 + s01.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e80052499 - 20-2-thumb.jpg + s01.e80052499 - 20-2.mp4 + s01.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e80052599 - 20-3-thumb.jpg + s01.e80052599 - 20-3.mp4 + s01.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..24094dbf --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt @@ -0,0 +1,60 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + attributes: + number: 1 + tag: Named Season 1 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1 +{output_directory}/Season 01 + s01.e79052499 - 21-1-thumb.jpg + s01.e79052499 - 21-1.mp4 + s01.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 1 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e80052498 - 20-1-thumb.jpg + s01.e80052498 - 20-1.mp4 + s01.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 1 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e80052499 - 20-2-thumb.jpg + s01.e80052499 - 20-2.mp4 + s01.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 1 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e80052599 - 20-3-thumb.jpg + s01.e80052599 - 20-3.mp4 + s01.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 1 + title: 2020-08-07 - Mock Entry 20-3 + 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/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt new file mode 100644 index 00000000..80f9c59b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt @@ -0,0 +1,109 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 +{output_directory}/Season 01 + s01.e80052699 - 20-4-thumb.jpg + s01.e80052699 - 20-4.mp4 + s01.e80052699 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 80052699 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e80062698 - 20-5-thumb.jpg + s01.e80062698 - 20-5.mp4 + s01.e80062698 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062698 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e80062699 - 20-6-thumb.jpg + s01.e80062699 - 20-6.mp4 + s01.e80062699 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062699 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e80072599 - 20-7-thumb.jpg + s01.e80072599 - 20-7.mp4 + s01.e80072599 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 80072599 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e79052499 - 21-1-thumb.jpg + s02.e79052499 - 21-1.mp4 + s02.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e80052498 - 20-1-thumb.jpg + s02.e80052498 - 20-1.mp4 + s02.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e80052499 - 20-2-thumb.jpg + s02.e80052499 - 20-2.mp4 + s02.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e80052599 - 20-3-thumb.jpg + s02.e80052599 - 20-3.mp4 + s02.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + 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/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..c748133b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt @@ -0,0 +1,111 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg + season01-poster.jpg + season02-poster.jpg + tvshow.nfo + NFO tags: + tvshow: + namedseason: + - + attributes: + number: 1 + tag: Named Season 1 + - + attributes: + number: 2 + tag: Named Season 2 + title: unit_kodi_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 +{output_directory}/Season 01 + s01.e80052699 - 20-4-thumb.jpg + s01.e80052699 - 20-4.mp4 + s01.e80052699 - 20-4.nfo + NFO tags: + episodedetails: + aired: 2020-08-06 + episode: 80052699 + plot: https://20-4.com + season: 1 + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e80062698 - 20-5-thumb.jpg + s01.e80062698 - 20-5.mp4 + s01.e80062698 - 20-5.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062698 + plot: https://20-5.com + season: 1 + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e80062699 - 20-6-thumb.jpg + s01.e80062699 - 20-6.mp4 + s01.e80062699 - 20-6.nfo + NFO tags: + episodedetails: + aired: 2020-07-06 + episode: 80062699 + plot: https://20-6.com + season: 1 + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e80072599 - 20-7-thumb.jpg + s01.e80072599 - 20-7.mp4 + s01.e80072599 - 20-7.nfo + NFO tags: + episodedetails: + aired: 2020-06-06 + episode: 80072599 + plot: https://20-7.com + season: 1 + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e79052499 - 21-1-thumb.jpg + s02.e79052499 - 21-1.mp4 + s02.e79052499 - 21-1.nfo + NFO tags: + episodedetails: + aired: 2021-08-08 + episode: 79052499 + plot: https://21-1.com + season: 2 + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e80052498 - 20-1-thumb.jpg + s02.e80052498 - 20-1.mp4 + s02.e80052498 - 20-1.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052498 + plot: https://20-1.com + season: 2 + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e80052499 - 20-2-thumb.jpg + s02.e80052499 - 20-2.mp4 + s02.e80052499 - 20-2.nfo + NFO tags: + episodedetails: + aired: 2020-08-08 + episode: 80052499 + plot: https://20-2.com + season: 2 + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e80052599 - 20-3-thumb.jpg + s02.e80052599 - 20-3.mp4 + s02.e80052599 - 20-3.nfo + NFO tags: + episodedetails: + aired: 2020-08-07 + episode: 80052599 + plot: https://20-3.com + season: 2 + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt new file mode 100644 index 00000000..f7537f0e --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0.txt @@ -0,0 +1,47 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg +{output_directory}/Season 2020 + s2020.e080701 - 20-3-thumb.jpg + s2020.e080701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 807 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e080801 - 20-2-thumb.jpg + s2020.e080801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 808 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e080802 - 20-1-thumb.jpg + s2020.e080802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 808 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080801 - 21-1-thumb.jpg + s2021.e080801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 808 + season_number: 2021 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt new file mode 100644 index 00000000..39a5573c --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg +{output_directory}/Season 2020 + s2020.e080701 - 20-3-thumb.jpg + s2020.e080701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 807 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s2020.e080801 - 20-2-thumb.jpg + s2020.e080801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 808 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e080802 - 20-1-thumb.jpg + s2020.e080802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 808 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 2021 + s2021.e080801 - 21-1-thumb.jpg + s2021.e080801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 808 + season_number: 2021 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt new file mode 100644 index 00000000..7fcc8b03 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0.txt @@ -0,0 +1,47 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg +{output_directory}/Season 2020 + s2020.e14698 - 20-1-thumb.jpg + s2020.e14698 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 14698 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e14699 - 20-2-thumb.jpg + s2020.e14699 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 14699 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e14799 - 20-3-thumb.jpg + s2020.e14799 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 14799 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 +{output_directory}/Season 2021 + s2021.e14699 - 21-1-thumb.jpg + s2021.e14699 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 14699 + season_number: 2021 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt new file mode 100644 index 00000000..cfaa4135 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg +{output_directory}/Season 2020 + s2020.e14698 - 20-1-thumb.jpg + s2020.e14698 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 14698 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s2020.e14699 - 20-2-thumb.jpg + s2020.e14699 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 14699 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s2020.e14799 - 20-3-thumb.jpg + s2020.e14799 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 14799 + season_number: 2020 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 +{output_directory}/Season 2021 + s2021.e14699 - 21-1-thumb.jpg + s2021.e14699 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 14699 + season_number: 2021 + show: unit_plex_tv_show_by_date_season_by_year__episode_by_month_day_reversed_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt new file mode 100644 index 00000000..af57f65a --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0.txt @@ -0,0 +1,47 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + poster.jpg +{output_directory}/Season 202008 + s202008.e0701 - 20-3-thumb.jpg + s202008.e0701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 7 + season_number: 202008 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s202008.e0801 - 20-2-thumb.jpg + s202008.e0801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 8 + season_number: 202008 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s202008.e0802 - 20-1-thumb.jpg + s202008.e0802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 8 + season_number: 202008 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 202108 + s202108.e0801 - 21-1-thumb.jpg + s202108.e0801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 8 + season_number: 202108 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt new file mode 100644 index 00000000..6d209946 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + fanart.jpg + poster.jpg +{output_directory}/Season 202008 + s202008.e0701 - 20-3-thumb.jpg + s202008.e0701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 7 + season_number: 202008 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s202008.e0801 - 20-2-thumb.jpg + s202008.e0801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 8 + season_number: 202008 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s202008.e0802 - 20-1-thumb.jpg + s202008.e0802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 8 + season_number: 202008 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 +{output_directory}/Season 202108 + s202108.e0801 - 21-1-thumb.jpg + s202108.e0801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 8 + season_number: 202108 + show: unit_plex_tv_show_by_date_season_by_year_month__episode_by_day_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt new file mode 100644 index 00000000..044b469a --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0.txt @@ -0,0 +1,46 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg +{output_directory}/Season 01 + s01.e000001 - 21-1-thumb.jpg + s01.e000001 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000002 - 20-1-thumb.jpg + s01.e000002 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-2-thumb.jpg + s01.e000003 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000004 - 20-3-thumb.jpg + s01.e000004 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt new file mode 100644 index 00000000..1f72ac91 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e000001 - 21-1-thumb.jpg + s01.e000001 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e000002 - 20-1-thumb.jpg + s01.e000002 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000003 - 20-2-thumb.jpg + s01.e000003 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000004 - 20-3-thumb.jpg + s01.e000004 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt new file mode 100644 index 00000000..8994e342 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg +{output_directory}/Season 01 + s01.e000002 - 20-4-thumb.jpg + s01.e000002 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-6-thumb.jpg + s01.e000004 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 21-1-thumb.jpg + s02.e000001 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 1 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000002 - 20-1-thumb.jpg + s02.e000002 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-2-thumb.jpg + s02.e000003 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000004 - 20-3-thumb.jpg + s02.e000004 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 4 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt new file mode 100644 index 00000000..2d407904 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e000002 - 20-4-thumb.jpg + s01.e000002 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-6-thumb.jpg + s01.e000004 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000005 - 20-7-thumb.jpg + s01.e000005 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 5 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 21-1-thumb.jpg + s02.e000001 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 1 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e000002 - 20-1-thumb.jpg + s02.e000002 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000003 - 20-2-thumb.jpg + s02.e000003 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000004 - 20-3-thumb.jpg + s02.e000004 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 4 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt new file mode 100644 index 00000000..386db738 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0.txt @@ -0,0 +1,46 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..64cef0d1 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e000001 - 20-3-thumb.jpg + s01.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e000002 - 20-2-thumb.jpg + s01.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e000003 - 20-1-thumb.jpg + s01.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e000004 - 21-1-thumb.jpg + s01.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt new file mode 100644 index 00000000..b708809a --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg +{output_directory}/Season 01 + s01.e000001 - 20-7-thumb.jpg + s01.e000001 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - 20-6-thumb.jpg + s01.e000002 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-4-thumb.jpg + s01.e000004 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..5a04da9e --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e000001 - 20-7-thumb.jpg + s01.e000001 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 1 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e000002 - 20-6-thumb.jpg + s01.e000002 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 2 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e000003 - 20-5-thumb.jpg + s01.e000003 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 3 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e000004 - 20-4-thumb.jpg + s01.e000004 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 4 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e000001 - 20-3-thumb.jpg + s02.e000001 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 1 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e000002 - 20-2-thumb.jpg + s02.e000002 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 2 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e000003 - 20-1-thumb.jpg + s02.e000003 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 3 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e000004 - 21-1-thumb.jpg + s02.e000004 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 4 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_playlist_index_reversed_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt new file mode 100644 index 00000000..0f870c8b --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0.txt @@ -0,0 +1,46 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg +{output_directory}/Season 01 + s01.e20080701 - 20-3-thumb.jpg + s01.e20080701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 20080701 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e20080801 - 20-2-thumb.jpg + s01.e20080801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080801 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e20080802 - 20-1-thumb.jpg + s01.e20080802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080802 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e21080801 - 21-1-thumb.jpg + s01.e21080801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 21080801 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt new file mode 100644 index 00000000..1676015c --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e20080701 - 20-3-thumb.jpg + s01.e20080701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 20080701 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s01.e20080801 - 20-2-thumb.jpg + s01.e20080801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080801 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e20080802 - 20-1-thumb.jpg + s01.e20080802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080802 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e21080801 - 21-1-thumb.jpg + s01.e21080801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 21080801 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt new file mode 100644 index 00000000..691d4cec --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg +{output_directory}/Season 01 + s01.e20060601 - 20-7-thumb.jpg + s01.e20060601 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 20060601 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e20070601 - 20-6-thumb.jpg + s01.e20070601 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 20070601 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e20070602 - 20-5-thumb.jpg + s01.e20070602 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 20070602 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e20080601 - 20-4-thumb.jpg + s01.e20080601 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 20080601 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e20080701 - 20-3-thumb.jpg + s02.e20080701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 20080701 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e20080801 - 20-2-thumb.jpg + s02.e20080801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080801 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e20080802 - 20-1-thumb.jpg + s02.e20080802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080802 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e21080801 - 21-1-thumb.jpg + s02.e21080801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 21080801 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt new file mode 100644 index 00000000..2b2f3eda --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e20060601 - 20-7-thumb.jpg + s01.e20060601 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 20060601 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 + s01.e20070601 - 20-6-thumb.jpg + s01.e20070601 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 20070601 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e20070602 - 20-5-thumb.jpg + s01.e20070602 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 20070602 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e20080601 - 20-4-thumb.jpg + s01.e20080601 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 20080601 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 +{output_directory}/Season 02 + s02.e20080701 - 20-3-thumb.jpg + s02.e20080701 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 20080701 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 + s02.e20080801 - 20-2-thumb.jpg + s02.e20080801 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080801 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e20080802 - 20-1-thumb.jpg + s02.e20080802 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 20080802 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e21080801 - 21-1-thumb.jpg + s02.e21080801 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 21080801 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt new file mode 100644 index 00000000..da2204ef --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_0.txt @@ -0,0 +1,46 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg +{output_directory}/Season 01 + s01.e79052499 - 21-1-thumb.jpg + s01.e79052499 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 79052499 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e80052498 - 20-1-thumb.jpg + s01.e80052498 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052498 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e80052499 - 20-2-thumb.jpg + s01.e80052499 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052499 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e80052599 - 20-3-thumb.jpg + s01.e80052599 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 80052599 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt new file mode 100644 index 00000000..e6a77213 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1.txt @@ -0,0 +1,48 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e79052499 - 21-1-thumb.jpg + s01.e79052499 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 79052499 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s01.e80052498 - 20-1-thumb.jpg + s01.e80052498 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052498 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s01.e80052499 - 20-2-thumb.jpg + s01.e80052499 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052499 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s01.e80052599 - 20-3-thumb.jpg + s01.e80052599 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 80052599 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_1_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt new file mode 100644 index 00000000..c9154e64 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_0.txt @@ -0,0 +1,88 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg +{output_directory}/Season 01 + s01.e80052699 - 20-4-thumb.jpg + s01.e80052699 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 80052699 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e80062698 - 20-5-thumb.jpg + s01.e80062698 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 80062698 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e80062699 - 20-6-thumb.jpg + s01.e80062699 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 80062699 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e80072599 - 20-7-thumb.jpg + s01.e80072599 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 80072599 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e79052499 - 21-1-thumb.jpg + s02.e79052499 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 79052499 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e80052498 - 20-1-thumb.jpg + s02.e80052498 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052498 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e80052499 - 20-2-thumb.jpg + s02.e80052499 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052499 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e80052599 - 20-3-thumb.jpg + s02.e80052599 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 80052599 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_0 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt new file mode 100644 index 00000000..46b429a2 --- /dev/null +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1.txt @@ -0,0 +1,90 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json + Season01.jpg + Season02.jpg + fanart.jpg + poster.jpg +{output_directory}/Season 01 + s01.e80052699 - 20-4-thumb.jpg + s01.e80052699 - 20-4.mp4 + Video Tags: + date: 2020-08-06 + episode_id: 80052699 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-4.com + title: 2020-08-06 - Mock Entry 20-4 + year: 2020 + s01.e80062698 - 20-5-thumb.jpg + s01.e80062698 - 20-5.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 80062698 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-5.com + title: 2020-07-06 - Mock Entry 20-5 + year: 2020 + s01.e80062699 - 20-6-thumb.jpg + s01.e80062699 - 20-6.mp4 + Video Tags: + date: 2020-07-06 + episode_id: 80062699 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-6.com + title: 2020-07-06 - Mock Entry 20-6 + year: 2020 + s01.e80072599 - 20-7-thumb.jpg + s01.e80072599 - 20-7.mp4 + Video Tags: + date: 2020-06-06 + episode_id: 80072599 + season_number: 1 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-7.com + title: 2020-06-06 - Mock Entry 20-7 + year: 2020 +{output_directory}/Season 02 + s02.e79052499 - 21-1-thumb.jpg + s02.e79052499 - 21-1.mp4 + Video Tags: + date: 2021-08-08 + episode_id: 79052499 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://21-1.com + title: 2021-08-08 - Mock Entry 21-1 + year: 2021 + s02.e80052498 - 20-1-thumb.jpg + s02.e80052498 - 20-1.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052498 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-1.com + title: 2020-08-08 - Mock Entry 20-1 + year: 2020 + s02.e80052499 - 20-2-thumb.jpg + s02.e80052499 - 20-2.mp4 + Video Tags: + date: 2020-08-08 + episode_id: 80052499 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-2.com + title: 2020-08-08 - Mock Entry 20-2 + year: 2020 + s02.e80052599 - 20-3-thumb.jpg + s02.e80052599 - 20-3.mp4 + Video Tags: + date: 2020-08-07 + episode_id: 80052599 + season_number: 2 + show: unit_plex_tv_show_collection_season_by_collection__episode_by_year_month_day_reversed_s_2_is_yt_1 + synopsis: https://20-3.com + title: 2020-08-07 - Mock Entry 20-3 + year: 2020 \ No newline at end of file diff --git a/tests/unit/prebuilt_presets/__init__.py b/tests/unit/prebuilt_presets/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/prebuilt_presets/conftest.py b/tests/unit/prebuilt_presets/conftest.py new file mode 100644 index 00000000..cb7f07f3 --- /dev/null +++ b/tests/unit/prebuilt_presets/conftest.py @@ -0,0 +1,208 @@ +import contextlib +import os +import tempfile +from pathlib import Path +from typing import Callable +from typing import Dict +from unittest.mock import patch + +import pytest +from resources import copy_file_fixture + +from ytdl_sub.config.config_file import ConfigFile +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 +from ytdl_sub.entries.variables.kwargs import UID +from ytdl_sub.entries.variables.kwargs import UPLOAD_DATE +from ytdl_sub.entries.variables.kwargs import WEBPAGE_URL + + +@pytest.fixture +def subscription_name(working_directory) -> str: + name = "subscription_test" + os.makedirs(Path(working_directory) / name, exist_ok=True) + return name + + +@pytest.fixture +def config(working_directory) -> ConfigFile: + return ConfigFile( + name="config", + value={"configuration": {"working_directory": working_directory}, "presets": {}}, + ) + + +@pytest.fixture +def mock_downloaded_file_path(working_directory: str, subscription_name: str): + def _mock_downloaded_file_path(file_name: str) -> Path: + return Path(working_directory) / subscription_name / file_name + + return _mock_downloaded_file_path + + +@pytest.fixture +def mock_entry_dict_factory(mock_downloaded_file_path) -> Callable: + def _mock_entry_dict_factory( + uid: int, + upload_date: str, + playlist_index: int = 1, + playlist_count: int = 1, + is_youtube_channel: bool = False, + ) -> 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", + UPLOAD_DATE: upload_date, + WEBPAGE_URL: f"https://{uid}.com", + PLAYLIST_ENTRY: {"thumbnails": []}, + } + + if is_youtube_channel: + entry_dict[PLAYLIST_ENTRY]["thumbnails"] = [ + { + "id": "avatar_uncropped", + "url": "https://avatar_uncropped.com", + }, + { + "id": "banner_uncropped", + "url": "https://banner_uncropped.com", + }, + ] + + # Create mock video file + copy_file_fixture( + fixture_name="sample_vid.mp4", output_file_path=mock_downloaded_file_path(f"{uid}.mp4") + ) + copy_file_fixture( + fixture_name="thumb.jpg", output_file_path=mock_downloaded_file_path(f"{uid}.jpg") + ) + return entry_dict + + return _mock_entry_dict_factory + + +@pytest.fixture +def mock_download_collection_thumbnail(mock_downloaded_file_path): + def _mock_download_thumbnail(output_path: str) -> bool: + # mock_file_factory(file_name=output_path.split("/")[-1]) + output_name = os.path.basename(output_path) + if "poster" in output_name or "show" in output_name: + copy_file_fixture(fixture_name="poster.jpg", output_file_path=output_path) + return True + elif "fanart" in output_name: + copy_file_fixture(fixture_name="fanart.jpeg", output_file_path=output_path) + return True + return False + + with patch.object( + Downloader, + "_download_thumbnail", + new=lambda _, thumbnail_url, output_thumbnail_path: _mock_download_thumbnail( + output_thumbnail_path + ), + ): + yield # TODO: create file here + + +@pytest.fixture +def mock_download_collection_entries( + mock_download_collection_thumbnail, mock_entry_dict_factory: Callable, working_directory: str +): + @contextlib.contextmanager + def _mock_download_collection_entries_factory(is_youtube_channel: bool): + def _(**kwargs): + return mock_entry_dict_factory(**kwargs) + + collection_1_entry_dicts = [ + _( + uid="21-1", + upload_date="20210808", + playlist_index=1, + playlist_count=4, + is_youtube_channel=is_youtube_channel, + ), # 1 + _( + uid="20-1", + upload_date="20200808", + playlist_index=2, + playlist_count=4, + is_youtube_channel=is_youtube_channel, + ), # 2 98 + _( + uid="20-2", + upload_date="20200808", + playlist_index=3, + playlist_count=4, + is_youtube_channel=is_youtube_channel, + ), # 1 99 + _( + uid="20-3", + upload_date="20200807", + playlist_index=4, + playlist_count=4, + is_youtube_channel=is_youtube_channel, + ), + ] + collection_2_entry_dicts = [ + # 20-3 should resolve to collection 1 (which is season 2) + _( + uid="20-3", + upload_date="20200807", + playlist_index=1, + playlist_count=5, + is_youtube_channel=is_youtube_channel, + ), + _( + uid="20-4", + upload_date="20200806", + playlist_index=2, + playlist_count=5, + is_youtube_channel=is_youtube_channel, + ), + _( + uid="20-5", + upload_date="20200706", + playlist_index=3, + playlist_count=5, + is_youtube_channel=is_youtube_channel, + ), + _( + uid="20-6", + upload_date="20200706", + playlist_index=4, + playlist_count=5, + is_youtube_channel=is_youtube_channel, + ), + _( + uid="20-7", + upload_date="20200606", + playlist_index=5, + playlist_count=5, + is_youtube_channel=is_youtube_channel, + ), + ] + + with patch.object( + Downloader, "extract_info_via_info_json" + ) as mock_download_metadata, patch.object( + Downloader, "_extract_entry_info_with_retry", new=lambda _, entry: entry + ): + # Stub out metadata. TODO: update this if we do metadata plugins + mock_download_metadata.side_effect = [ + collection_1_entry_dicts, + collection_2_entry_dicts, + ] + yield + + return _mock_download_collection_entries_factory diff --git a/tests/unit/prebuilt_presets/test_prebuilt_presets.py b/tests/unit/prebuilt_presets/test_prebuilt_presets.py new file mode 100644 index 00000000..6048a7eb --- /dev/null +++ b/tests/unit/prebuilt_presets/test_prebuilt_presets.py @@ -0,0 +1,230 @@ +import copy +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.prebuilt_presets import TvShowByDatePresets +from ytdl_sub.prebuilt_presets import TvShowCollectionPresets +from ytdl_sub.prebuilt_presets.tv_show import TvShowByDateEpisodeFormattingPresets +from ytdl_sub.prebuilt_presets.tv_show import TvShowCollectionEpisodeFormattingPresets +from ytdl_sub.prebuilt_presets.tv_show import TvShowCollectionSeasonPresets +from ytdl_sub.subscriptions.subscription import Subscription +from ytdl_sub.utils.exceptions import ValidationException + + +@pytest.mark.parametrize("media_player_preset", TvShowByDatePresets.get_preset_names()) +@pytest.mark.parametrize( + "tv_show_structure_preset", TvShowByDateEpisodeFormattingPresets.get_preset_names() +) +class TestPrebuiltTVShowPresets: + def test_compilation( + self, + config, + media_player_preset: str, + tv_show_structure_preset: str, + ): + parent_presets: List[str] = [media_player_preset, tv_show_structure_preset] + _ = Subscription.from_dict( + config=config, + preset_name="preset_test", + preset_dict={ + "preset": parent_presets, + "overrides": { + "url": "https://your.name.here", + "tv_show_name": "test-compile", + "tv_show_directory": "output_dir", + }, + }, + ) + + def test_compilation_errors_missing_one( + self, + config, + media_player_preset: str, + tv_show_structure_preset: str, + ): + parent_presets: List[str] = [media_player_preset, tv_show_structure_preset] + for parent_preset in parent_presets: + parent_presets_missing_one = copy.deepcopy(parent_presets).remove(parent_preset) + + with pytest.raises(ValidationException): + _ = Subscription.from_dict( + config=config, + preset_name="preset_test", + preset_dict={ + "preset": parent_presets_missing_one, + "overrides": { + "url": "https://your.name.here", + "tv_show_name": "test-compile", + "tv_show_directory": "output_dir", + }, + }, + ) + + @pytest.mark.parametrize("is_youtube_channel", [True, False]) + def test_non_collection_presets_compile( + self, + config, + subscription_name, + output_directory, + mock_download_collection_entries, + media_player_preset: str, + tv_show_structure_preset: str, + is_youtube_channel: bool, + ): + expected_summary_name = "unit/{}/{}/is_yt_{}".format( + media_player_preset, + tv_show_structure_preset, + int(is_youtube_channel), + ) + parent_presets = [media_player_preset, tv_show_structure_preset] + + subscription = Subscription.from_dict( + config=config, + preset_name=subscription_name, + preset_dict={ + "preset": parent_presets, + "overrides": { + "url": "https://your.name.here", + "tv_show_name": expected_summary_name.replace("/", "_"), + "tv_show_directory": output_directory, + }, + }, + ) + + with mock_download_collection_entries(is_youtube_channel=is_youtube_channel): + 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", + ) + assert_expected_downloads( + output_directory=output_directory, + dry_run=False, + expected_download_summary_file_name=f"{expected_summary_name}.json", + ) + + +@pytest.mark.parametrize("media_player_preset", TvShowCollectionPresets.get_preset_names()) +@pytest.mark.parametrize( + "tv_show_structure_preset", TvShowCollectionEpisodeFormattingPresets.get_preset_names() +) +class TestPrebuiltTvShowCollectionPresets: + @pytest.mark.parametrize("season_preset", TvShowCollectionSeasonPresets.get_preset_names()) + def test_compilation( + self, + config, + media_player_preset: str, + tv_show_structure_preset: str, + season_preset: str, + ): + parent_presets: List[str] = [media_player_preset, tv_show_structure_preset, season_preset] + _ = Subscription.from_dict( + config=config, + preset_name="preset_test", + preset_dict={ + "preset": parent_presets, + "overrides": { + "url": "https://your.name.here", + "tv_show_name": "test-compile", + "tv_show_directory": "output_dir", + f"{season_preset}_url": "https://your.name.here", + f"{season_preset}_name": "test season name", + }, + }, + ) + + @pytest.mark.parametrize("season_preset", TvShowCollectionSeasonPresets.get_preset_names()) + def test_compilation_errors_missing_one( + self, + config, + media_player_preset: str, + tv_show_structure_preset: str, + season_preset: str, + ): + parent_presets: List[str] = [media_player_preset, tv_show_structure_preset, season_preset] + for parent_preset in parent_presets: + parent_presets_missing_one = copy.deepcopy(parent_presets).remove(parent_preset) + + with pytest.raises(ValidationException): + _ = Subscription.from_dict( + config=config, + preset_name="preset_test", + preset_dict={ + "preset": parent_presets_missing_one, + "overrides": { + "url": "https://your.name.here", + "tv_show_name": "test-compile", + "tv_show_directory": "output_dir", + f"{season_preset}_url": "https://your.name.here", + f"{season_preset}_name": "test season name", + }, + }, + ) + + @pytest.mark.parametrize("season_indices", [[1], [1, 2]]) + @pytest.mark.parametrize("is_youtube_channel", [True, False]) + def test_collection_presets_compile( + self, + config, + subscription_name, + output_directory, + mock_download_collection_entries, + media_player_preset: str, + tv_show_structure_preset: str, + season_indices: List[int], + is_youtube_channel: bool, + ): + expected_summary_name = "unit/{}/{}/s_{}/is_yt_{}".format( + media_player_preset, + tv_show_structure_preset, + len(season_indices), + int(is_youtube_channel), + ) + parent_presets: List[str] = [media_player_preset, tv_show_structure_preset] + + overrides: Dict[str, str] = {} + for season_index in season_indices: + parent_presets.append(f"collection_season_{season_index}") + + overrides = dict( + overrides, + **{ + f"collection_season_{season_index}_name": f"Named Season {season_index}", + f"collection_season_{season_index}_url": f"https://season.{season_index}.com", + }, + ) + + subscription = Subscription.from_dict( + config=config, + preset_name=subscription_name, + preset_dict={ + "preset": parent_presets, + "overrides": dict( + overrides, + **{ + "tv_show_name": expected_summary_name.replace("/", "_"), + "tv_show_directory": output_directory, + }, + ), + }, + ) + + with mock_download_collection_entries(is_youtube_channel=is_youtube_channel): + 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", + ) + assert_expected_downloads( + output_directory=output_directory, + dry_run=False, + expected_download_summary_file_name=f"{expected_summary_name}.json", + )