diff --git a/.github/workflows/ci-windows.yaml b/.github/workflows/ci-windows.yaml index ebc8ebcb..5d0b23a9 100644 --- a/.github/workflows/ci-windows.yaml +++ b/.github/workflows/ci-windows.yaml @@ -29,7 +29,7 @@ jobs: move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe" python -m pip install -e .[test] - python -m pytest tests/unit + python -m pytest --reruns 3 --reruns-delay 5 tests/unit test-soundcloud: runs-on: windows-latest @@ -52,7 +52,7 @@ jobs: move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe" python -m pip install -e .[test] - python -m pytest tests/e2e/soundcloud + python -m pytest --reruns 3 --reruns-delay 5 tests/e2e/soundcloud test-bandcamp: runs-on: windows-latest @@ -75,7 +75,7 @@ jobs: move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe" python -m pip install -e .[test] - python -m pytest tests/e2e/bandcamp + python -m pytest --reruns 3 --reruns-delay 5 tests/e2e/bandcamp test-youtube: @@ -99,7 +99,7 @@ jobs: move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe" python -m pip install -e .[test] - python -m pytest tests/e2e/youtube + python -m pytest --reruns 3 --reruns-delay 5 tests/e2e/youtube test-plugins: runs-on: windows-latest @@ -122,4 +122,4 @@ jobs: move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe" python -m pip install -e .[test] - python -m pytest tests/e2e/plugins + python -m pytest --reruns 3 --reruns-delay 5 tests/e2e/plugins diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bea651dc..b2452fdf 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -44,7 +44,7 @@ jobs: pip install -e .[test] sudo apt-get update sudo apt-get install -y ffmpeg - coverage run -m pytest tests/unit && coverage xml -o /opt/coverage/unit/coverage.xml + coverage run -m pytest --reruns 3 --reruns-delay 5 tests/unit && coverage xml -o /opt/coverage/unit/coverage.xml - name: Save coverage uses: actions/cache@v3 @@ -70,7 +70,7 @@ jobs: pip install -e .[test] sudo apt-get update sudo apt-get install -y ffmpeg - coverage run -m pytest tests/e2e/soundcloud && coverage xml -o /opt/coverage/soundcloud/coverage.xml + coverage run -m pytest --reruns 3 --reruns-delay 5 tests/e2e/soundcloud && coverage xml -o /opt/coverage/soundcloud/coverage.xml test-bandcamp: runs-on: ubuntu-22.04 @@ -90,7 +90,7 @@ jobs: pip install -e .[test] sudo apt-get update sudo apt-get install -y ffmpeg - coverage run -m pytest tests/e2e/bandcamp && coverage xml -o /opt/coverage/bandcamp/coverage.xml + coverage run -m pytest --reruns 3 --reruns-delay 5 tests/e2e/bandcamp && coverage xml -o /opt/coverage/bandcamp/coverage.xml - name: Save coverage uses: actions/cache@v3 @@ -116,7 +116,7 @@ jobs: pip install -e .[test] sudo apt-get update sudo apt-get install -y ffmpeg - coverage run -m pytest tests/e2e/youtube && coverage xml -o /opt/coverage/youtube/coverage.xml + coverage run -m pytest --reruns 3 --reruns-delay 5 tests/e2e/youtube && coverage xml -o /opt/coverage/youtube/coverage.xml - name: Save coverage uses: actions/cache@v3 @@ -142,7 +142,7 @@ jobs: pip install -e .[test] sudo apt-get update sudo apt-get install -y ffmpeg - coverage run -m pytest tests/e2e/plugins && coverage xml -o /opt/coverage/plugins/coverage.xml + coverage run -m pytest --reruns 3 --reruns-delay 5 tests/e2e/plugins && coverage xml -o /opt/coverage/plugins/coverage.xml - name: Save coverage uses: actions/cache@v3 diff --git a/.github/workflows/package-ubuntu.yaml b/.github/workflows/package-ubuntu.yaml index 6a8bc2f4..a08bdaf5 100644 --- a/.github/workflows/package-ubuntu.yaml +++ b/.github/workflows/package-ubuntu.yaml @@ -19,6 +19,49 @@ env: jobs: # Push image to GitHub Packages. # See also https://docs.docker.com/docker-hub/builds/ + version: + name: version + runs-on: ubuntu-latest + outputs: + pypi_version: ${{ steps.set_outputs.outputs.pypi_version }} + local_version: ${{ steps.set_outputs.outputs.local_version }} + init_contents: ${{ steps.set_outputs.outputs.init_contents }} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: master + + - name: Set date and commit hash variables + run: | + echo "DATE=$(date +'%Y.%m.%d')" >> $GITHUB_ENV + echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + + - name: Count number of commits on master on day, minus 1 to account for post-push + run: | + echo "DATE_COMMIT_COUNT=$(($(git rev-list --count master --since='${{ env.DATE }} 00:00:00')-1))" >> $GITHUB_ENV + - name: Set pypi and local version values + run: | + echo "LOCAL_VERSION=${{ env.DATE }}+${{ env.COMMIT_HASH }}" >> $GITHUB_ENV + if [ ${{ env.DATE_COMMIT_COUNT }} -le "0" ] + then + echo "PYPI_VERSION=${{ env.DATE }}" >> $GITHUB_ENV + else + echo "PYPI_VERSION=${{ env.DATE }}.post${{ env.DATE_COMMIT_COUNT }}" >> $GITHUB_ENV + fi + + - name: Test versions + run: | + echo "${{ env.PYPI_VERSION }}" + echo "${{ env.LOCAL_VERSION }}" + + - id: set_outputs + run: | + echo "pypi_version=${{ env.PYPI_VERSION }}" >> "$GITHUB_OUTPUT" + echo "local_version=${{ env.LOCAL_VERSION }}" >> "$GITHUB_OUTPUT" + echo 'init_contents=__pypi_version__ = "${{ env.PYPI_VERSION }}";__local_version__ = "${{ env.LOCAL_VERSION }}"' >> "$GITHUB_OUTPUT" + build: runs-on: ubuntu-22.04 strategy: @@ -57,7 +100,7 @@ jobs: permissions: contents: read - if: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') }} + if: ${{ github.ref == 'refs/heads/master' && !contains(github.event.head_commit.message, '[DEV]') }} steps: - uses: actions/checkout@v3 @@ -141,6 +184,7 @@ jobs: deploy: runs-on: ubuntu-22.04 needs: [ + version, build, package-arm64, package-amd64 @@ -218,6 +262,7 @@ jobs: --cache-from=type=local,src=/tmp/build-cache/amd64 \ --cache-from=type=local,src=/tmp/build-cache/arm64 \ --tag ${{ steps.formatted-image_id.outputs.IMAGE_ID }}:ubuntu-${{ steps.formatted_version.outputs.VERSION }} \ + --tag ${{ steps.formatted-image_id.outputs.IMAGE_ID }}:ubuntu-${{ needs.version.outputs.pypi_version }} \ --label "runnumber=ubuntu-${GITHUB_RUN_ID}" \ --file docker/Dockerfile.ubuntu \ docker/ \ No newline at end of file diff --git a/.github/workflows/package.yaml b/.github/workflows/package.yaml index 835b75f2..66cf802c 100644 --- a/.github/workflows/package.yaml +++ b/.github/workflows/package.yaml @@ -19,6 +19,49 @@ env: jobs: # Push image to GitHub Packages. # See also https://docs.docker.com/docker-hub/builds/ + version: + name: version + runs-on: ubuntu-latest + outputs: + pypi_version: ${{ steps.set_outputs.outputs.pypi_version }} + local_version: ${{ steps.set_outputs.outputs.local_version }} + init_contents: ${{ steps.set_outputs.outputs.init_contents }} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: master + + - name: Set date and commit hash variables + run: | + echo "DATE=$(date +'%Y.%m.%d')" >> $GITHUB_ENV + echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + + - name: Count number of commits on master on day, minus 1 to account for post-push + run: | + echo "DATE_COMMIT_COUNT=$(($(git rev-list --count master --since='${{ env.DATE }} 00:00:00')-1))" >> $GITHUB_ENV + - name: Set pypi and local version values + run: | + echo "LOCAL_VERSION=${{ env.DATE }}+${{ env.COMMIT_HASH }}" >> $GITHUB_ENV + if [ ${{ env.DATE_COMMIT_COUNT }} -le "0" ] + then + echo "PYPI_VERSION=${{ env.DATE }}" >> $GITHUB_ENV + else + echo "PYPI_VERSION=${{ env.DATE }}.post${{ env.DATE_COMMIT_COUNT }}" >> $GITHUB_ENV + fi + + - name: Test versions + run: | + echo "${{ env.PYPI_VERSION }}" + echo "${{ env.LOCAL_VERSION }}" + + - id: set_outputs + run: | + echo "pypi_version=${{ env.PYPI_VERSION }}" >> "$GITHUB_OUTPUT" + echo "local_version=${{ env.LOCAL_VERSION }}" >> "$GITHUB_OUTPUT" + echo 'init_contents=__pypi_version__ = "${{ env.PYPI_VERSION }}";__local_version__ = "${{ env.LOCAL_VERSION }}"' >> "$GITHUB_OUTPUT" + build: runs-on: ubuntu-22.04 strategy: @@ -139,6 +182,7 @@ jobs: deploy: runs-on: ubuntu-22.04 needs: [ + version, build, package-arm64, package-amd64 @@ -148,7 +192,7 @@ jobs: packages: write contents: read - if: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') }} + if: ${{ github.ref == 'refs/heads/master' && !contains(github.event.head_commit.message, '[DEV]') }} steps: - uses: actions/checkout@v3 @@ -216,5 +260,6 @@ jobs: --cache-from=type=local,src=/tmp/build-cache/amd64 \ --cache-from=type=local,src=/tmp/build-cache/arm64 \ --tag ${{ steps.formatted-image_id.outputs.IMAGE_ID }}:${{ steps.formatted_version.outputs.VERSION }} \ + --tag ${{ steps.formatted-image_id.outputs.IMAGE_ID }}:${{ needs.version.outputs.pypi_version }} \ --label "runnumber=${GITHUB_RUN_ID}" \ docker/ \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2c642da4..8d79964b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -171,7 +171,7 @@ jobs: ls -lh /opt/builds - name: Create Release - if: ${{ github.ref == 'refs/heads/master' }} + if: ${{ github.ref == 'refs/heads/master' && !contains(github.event.head_commit.message, '[DEV]') }} id: create_release uses: softprops/action-gh-release@v1 with: @@ -207,7 +207,7 @@ jobs: python3 -m build - name: Publish distribution 📦 to PyPI - if: ${{ github.ref == 'refs/heads/master' }} + if: ${{ github.ref == 'refs/heads/master' && !contains(github.event.head_commit.message, '[DEV]') }} uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/docs/config.rst b/docs/config.rst index 71805d2d..60a9fe74 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -2,7 +2,7 @@ Config ====== ytdl-sub is configured using a ``config.yaml`` file. -.. _config_yaml: +.. _config: config.yaml ----------- @@ -29,7 +29,7 @@ and subscriptions. .. autoclass:: ytdl_sub.config.config_validator.ConfigOptions() :members: :member-order: bysource - :exclude-members: persist_logs, experimental + :exclude-members: subscription_value, persist_logs, experimental persist_logs """""""""""" @@ -183,10 +183,17 @@ file_convert ------------------------------------------------------------------------------- +format +'''''' +.. autoclass:: ytdl_sub.plugins.format.FormatOptions() + +------------------------------------------------------------------------------- + match_filters ''''''''''''' .. autoclass:: ytdl_sub.plugins.match_filters.MatchFiltersOptions() :members: + :member-order: bysource :exclude-members: partial_validate ------------------------------------------------------------------------------- @@ -292,8 +299,66 @@ custom variables: ``{output_directory}``, ``{playlist_name}``, and ``{url}``. Th the `parent preset`_ to ``playlist_preset_ex``, and must define the variables ``{playlist_name}`` and ``{url}`` since the preset did not. +.. _beautifying subscriptions: + +Beautifying Subscriptions +^^^^^^^^^^^^^^^^^^^^^^^^^ +Subscriptions support using presets as keys, and using keys to set override variables as values. +For example: + +.. code-block:: yaml + :caption: subscription.yaml + + tv_show: + only_recent: + [News]: + "Breaking News": "https://www.youtube.com/@SomeBreakingNews" + + [Tech]: + "Two Minute Papers": "https://www.youtube.com/@TwoMinutePapers" + +Will create two subscriptions named "Breaking News" and "Two Minute Papers", equivalent to: + +.. code-block:: yaml + + "Breaking News": + preset: + - "tv_show" + - "only_recent" + + overrides: + subscription_indent_1: "News" + subscription_name: "Breaking News" + subscription_value: "https://www.youtube.com/@SomeBreakingNews" + + "Two Minute Papers": + preset: + - "tv_show" + + overrides: + subscription_indent_1: "Tech" + subscription_name: "Two Minute Papers" + subscription_value: "https://www.youtube.com/@TwoMinutePapers" + +You can provide as many parent presets in the form of keys, and subscription indents as ``[keys]``. +This can drastically simplify subscription definitions by setting things like so in your +parent preset: + +.. code-block:: yaml + + presets: + tv_show_name: + overrides: + tv_show_name: "{subscription_name}" + url: "{subscription_value}" + genre: "{subscription_indent_1}" + +.. _subscription value: + File Preset ^^^^^^^^^^^ +NOTE: This is deprecated in favor of using the method in :ref:`beautifying subscriptions`. + You can apply a preset to all subscriptions in the ``subscription.yaml`` file by using the file-wide ``__preset__``: @@ -311,8 +376,11 @@ by using the file-wide ``__preset__``: This ``subscription.yaml`` is equivalent to the one above it because all subscriptions automatically set ``__preset__`` as a `parent preset`_. -File Subscription Value -^^^^^^^^^^^^^^^^^^^^^^^ + +Subscription Value +^^^^^^^^^^^^^^^^^^^ +NOTE: This is deprecated in favor of using the method in :ref:`beautifying subscriptions`. + With a clever config and use of ``__preset__``, your subscriptions can typically boil down to a name and url. You can set ``__value__`` to the name of an override variable, and use the override variable ``subscription_name`` to achieve one-liner subscriptions. @@ -322,20 +390,19 @@ Using the example above, we can do: :caption: subscription.yaml __preset__: - preset: "playlist_preset_ex" + preset: + - "tv_show" overrides: - playlist_name: "{subscription_name}" + tv_show_name: "{subscription_name}" __value__: "url" - # single-line subscription - "diy-playlist": "https://youtube.com/playlist?list=UCsvn_Po0SmunchJYtttWpOxMg" - -``"diy-playlist"`` gets assigned to the ``playlist_name`` override variable by setting -it with ``subscription_name`` , and the url gets assigned to ``url`` by setting ``__value__`` -to write values to it. + # single-line subscription, sets "Brandon Acker" and the subscription value + # to the override variables tv_show_name and url + "Brandon Acker": "https://www.youtube.com/@brandonacker" Traditional subscriptions that can override presets will still work when using ``__value__``. +``__value__`` can also be set within a :ref:`config`. ------------------------------------------------------------------------------- diff --git a/docs/deprecation_notices.rst b/docs/deprecation_notices.rst index 212beea0..56c42d0a 100644 --- a/docs/deprecation_notices.rst +++ b/docs/deprecation_notices.rst @@ -1,6 +1,14 @@ Deprecation Notices =================== +Oct 2023 +-------- + +subscription preset and value +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The use of ``__value__`` will go away in Dec 2023 in favor of the method found in +:ref:`beautifying subscriptions`. ``__preset__`` will still be supported for the time being. + July 2023 --------- diff --git a/docs/index.rst b/docs/index.rst index 1ef6df9f..246ff447 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,7 +13,7 @@ ytdl-sub configs, check out the For navigating config docs, use the left-side bar on the -:ref:`config_yaml` page to find every available ytdl-sub field. +:ref:`config` page to find every available ytdl-sub field. Contents ======== diff --git a/examples/tv_show_config.yaml b/examples/tv_show_config.yaml index e2763980..f81ef60e 100644 --- a/examples/tv_show_config.yaml +++ b/examples/tv_show_config.yaml @@ -69,10 +69,6 @@ presets: date_range: after: "today-{download_range}" - # Stops fetching metadata if the video is out of range (saves time + bandwidth) - ytdl_options: - break_on_reject: True - # Deletes any videos older than download_range. WARNING: do not use # "season_by_year__episode_by_download_index" if you plan to delete older videos output_options: diff --git a/setup.cfg b/setup.cfg index 7bc55744..1e8d4eaa 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,7 +27,7 @@ package_dir = packages=find: install_requires = - yt-dlp==2023.7.6 + yt-dlp==2023.9.24 argparse==1.4.0 colorama==0.4.6 mergedeep==1.3.4 @@ -44,6 +44,7 @@ where=src test = coverage[toml]==6.3.2 pytest==7.1.1 + pytest-rerunfailures==12.0 lint = black==22.3.0 isort==5.10.1 diff --git a/src/ytdl_sub/cli/main.py b/src/ytdl_sub/cli/main.py index acb615ae..fbace307 100644 --- a/src/ytdl_sub/cli/main.py +++ b/src/ytdl_sub/cli/main.py @@ -341,6 +341,8 @@ def main() -> List[Tuple[Subscription, FileHandlerTransactionLog]]: transaction_logs.append( _view_url_from_cli(config=config, url=args.url, split_chapters=args.split_chapters) ) + else: + raise ValidationException("Must provide one of the commands: sub, dl, view") if not args.suppress_transaction_log: _output_transaction_log( diff --git a/src/ytdl_sub/config/config_file.py b/src/ytdl_sub/config/config_file.py index 6d6bcc66..b5981e51 100644 --- a/src/ytdl_sub/config/config_file.py +++ b/src/ytdl_sub/config/config_file.py @@ -4,6 +4,7 @@ from typing import Dict from ytdl_sub.config.config_validator import ConfigValidator from ytdl_sub.config.preset import Preset +from ytdl_sub.utils.exceptions import FileNotFoundException from ytdl_sub.utils.ffmpeg import FFMPEG from ytdl_sub.utils.yaml import load_yaml from ytdl_sub.validators.file_path_validators import FilePathValidatorMixin @@ -68,8 +69,20 @@ class ConfigFile(ConfigValidator): Returns ------- Config file validator + + Raises + ------ + FileNotFoundException + Not found """ - config_dict = load_yaml(file_path=config_path) + try: + config_dict = load_yaml(file_path=config_path) + except FileNotFoundException as exc: + raise FileNotFoundException( + f"The config file '{config_path}' could not be found. " + f"Did you set --config correctly?" + ) from exc + return ConfigFile.from_dict(config_dict) def as_dict(self) -> Dict[str, Any]: diff --git a/src/ytdl_sub/config/config_validator.py b/src/ytdl_sub/config/config_validator.py index 5e375c8a..20341088 100644 --- a/src/ytdl_sub/config/config_validator.py +++ b/src/ytdl_sub/config/config_validator.py @@ -106,6 +106,7 @@ class ConfigOptions(StrictDictValidator): "ffprobe_path", "file_name_max_bytes", "experimental", + "subscription_value", } def __init__(self, name: str, value: Any): @@ -138,6 +139,9 @@ class ConfigOptions(StrictDictValidator): self._file_name_max_bytes = self._validate_key( key="file_name_max_bytes", validator=IntValidator, default=MAX_FILE_NAME_BYTES ) + self._subscription_value = self._validate_key_if_present( + key="subscription_value", validator=StringValidator + ) @property def working_directory(self) -> str: @@ -230,6 +234,14 @@ class ConfigOptions(StrictDictValidator): """ return self._ffprobe_path.value + @property + def subscription_value(self) -> Optional[str]: + """ + Optional. Sets the :ref:`subscription value` for subscription + files that use this config. + """ + return self._subscription_value.value if self._subscription_value else None + class ConfigValidator(StrictDictValidator): _required_keys = {"configuration", "presets"} diff --git a/src/ytdl_sub/config/plugin.py b/src/ytdl_sub/config/plugin.py index 6930e632..9ddc083c 100644 --- a/src/ytdl_sub/config/plugin.py +++ b/src/ytdl_sub/config/plugin.py @@ -72,6 +72,14 @@ class Plugin(BasePlugin[TOptionsValidator], Generic[TOptionsValidator], ABC): Class to define the new plugin functionality """ + def ytdl_options_match_filters(self) -> Tuple[List[str], List[str]]: + """ + Returns + ------- + Tuple of match-filters to apply, first one being non-breaking, second breaking + """ + return [], [] + def ytdl_options(self) -> Optional[Dict]: """ Returns diff --git a/src/ytdl_sub/config/preset_class_mappings.py b/src/ytdl_sub/config/preset_class_mappings.py index 060d8c89..31a96363 100644 --- a/src/ytdl_sub/config/preset_class_mappings.py +++ b/src/ytdl_sub/config/preset_class_mappings.py @@ -8,6 +8,7 @@ from ytdl_sub.plugins.chapters import ChaptersPlugin from ytdl_sub.plugins.date_range import DateRangePlugin from ytdl_sub.plugins.embed_thumbnail import EmbedThumbnailPlugin from ytdl_sub.plugins.file_convert import FileConvertPlugin +from ytdl_sub.plugins.format import FormatPlugin from ytdl_sub.plugins.internal.view import ViewPlugin from ytdl_sub.plugins.match_filters import MatchFiltersPlugin from ytdl_sub.plugins.music_tags import MusicTagsPlugin @@ -30,6 +31,7 @@ class PluginMapping: "date_range": DateRangePlugin, "embed_thumbnail": EmbedThumbnailPlugin, "file_convert": FileConvertPlugin, + "format": FormatPlugin, "match_filters": MatchFiltersPlugin, "music_tags": MusicTagsPlugin, "video_tags": VideoTagsPlugin, diff --git a/src/ytdl_sub/config/preset_options.py b/src/ytdl_sub/config/preset_options.py index 2dd0b24a..858068f5 100644 --- a/src/ytdl_sub/config/preset_options.py +++ b/src/ytdl_sub/config/preset_options.py @@ -246,6 +246,7 @@ class OutputOptions(StrictDictValidator): thumbnail_name: "{title_sanitized}.{thumbnail_ext}" info_json_name: "{title_sanitized}.{info_json_ext}" download_archive_name: ".ytdl-sub-{subscription_name}-download-archive.json" + migrated_download_archive_name: ".ytdl-sub-{subscription_name_sanitized}-download-archive.json" maintain_download_archive: True keep_files_before: now keep_files_after: 19000101 @@ -256,6 +257,7 @@ class OutputOptions(StrictDictValidator): "thumbnail_name", "info_json_name", "download_archive_name", + "migrated_download_archive_name", "maintain_download_archive", "keep_files_before", "keep_files_after", @@ -298,6 +300,10 @@ class OutputOptions(StrictDictValidator): validator=OverridesStringFormatterValidator, default=DEFAULT_DOWNLOAD_ARCHIVE_NAME, ) + self._migrated_download_archive_name = self._validate_key_if_present( + key="migrated_download_archive_name", + validator=OverridesStringFormatterValidator, + ) self._maintain_download_archive = self._validate_key_if_present( key="maintain_download_archive", validator=BoolValidator, default=False @@ -358,6 +364,16 @@ class OutputOptions(StrictDictValidator): """ return self._download_archive_name + @property + def migrated_download_archive_name(self) -> Optional[OverridesStringFormatterValidator]: + """ + Optional. Intended to be used if you are migrating a subscription with either a new + subscription name or output directory. It will try to load the archive file using this name + first, and fallback to ``download_archive_name``. It will always save to this file + and remove the original ``download_archive_name``. + """ + return self._migrated_download_archive_name + @property def maintain_download_archive(self) -> bool: """ diff --git a/src/ytdl_sub/downloaders/info_json/info_json_downloader.py b/src/ytdl_sub/downloaders/info_json/info_json_downloader.py index f0c37083..a7fac294 100644 --- a/src/ytdl_sub/downloaders/info_json/info_json_downloader.py +++ b/src/ytdl_sub/downloaders/info_json/info_json_downloader.py @@ -4,6 +4,7 @@ from pathlib import Path from typing import Dict from typing import Iterable from typing import List +from typing import Optional from ytdl_sub.config.preset_options import OptionsDictValidator from ytdl_sub.config.preset_options import Overrides @@ -123,7 +124,7 @@ class InfoJsonDownloader(SourcePlugin[InfoJsonDownloaderOptions]): ): self._enhanced_download_archive.num_entries_removed += 1 - def download(self, entry: Entry) -> Entry: + def download(self, entry: Entry) -> Optional[Entry]: """ Mock the download by copying the entry file from the output directory into the working directory diff --git a/src/ytdl_sub/downloaders/source_plugin.py b/src/ytdl_sub/downloaders/source_plugin.py index 59958ba1..b11b1940 100644 --- a/src/ytdl_sub/downloaders/source_plugin.py +++ b/src/ytdl_sub/downloaders/source_plugin.py @@ -56,7 +56,7 @@ class SourcePlugin(BasePlugin[TOptionsValidator], Generic[TOptionsValidator], AB """Gathers metadata of all entries to download""" @abc.abstractmethod - def download(self, entry: Entry) -> Entry: + def download(self, entry: Entry) -> Optional[Entry]: """The function to perform the download of all media entries""" @final diff --git a/src/ytdl_sub/downloaders/url/downloader.py b/src/ytdl_sub/downloaders/url/downloader.py index 5cbadc4f..e97f4223 100644 --- a/src/ytdl_sub/downloaders/url/downloader.py +++ b/src/ytdl_sub/downloaders/url/downloader.py @@ -30,7 +30,6 @@ from ytdl_sub.entries.variables.kwargs import REQUESTED_SUBTITLES from ytdl_sub.entries.variables.kwargs import SOURCE_ENTRY from ytdl_sub.entries.variables.kwargs import SPONSORBLOCK_CHAPTERS from ytdl_sub.entries.variables.kwargs import UPLOAD_DATE_INDEX -from ytdl_sub.entries.variables.kwargs import YTDL_SUB_MATCH_FILTER_REJECT from ytdl_sub.utils.file_handler import FileHandler from ytdl_sub.utils.logger import Logger from ytdl_sub.utils.thumbnail import ThumbnailTypes @@ -462,7 +461,7 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]): ) yield entry - def download(self, entry: Entry) -> Entry: + def download(self, entry: Entry) -> Optional[Entry]: """ Parameters ---------- @@ -485,16 +484,13 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]): entry.title, ) - # Match-filters are applied at the download stage (not metadata stage). - # If the download is rejected, and match_filter is present in the ytdl options, - # then filter downstream in the match_filter plugin + # Match-filters can be applied at the download stage. If the download is rejected, + # then return None try: download_entry = self._extract_entry_info_with_retry(entry=entry) except RejectedVideoReached: - if "match_filter" in self.download_ytdl_options: - entry.add_kwargs({YTDL_SUB_MATCH_FILTER_REJECT: True}) - return entry - raise + download_logger.info("Entry rejected by download match-filter, skipping ..") + return None upload_date_idx = self._enhanced_download_archive.mapping.get_num_entries_with_upload_date( upload_date_standardized=entry.upload_date_standardized diff --git a/src/ytdl_sub/entries/variables/kwargs.py b/src/ytdl_sub/entries/variables/kwargs.py index 48cfa019..84f729f9 100644 --- a/src/ytdl_sub/entries/variables/kwargs.py +++ b/src/ytdl_sub/entries/variables/kwargs.py @@ -47,7 +47,6 @@ REQUESTED_SUBTITLES = _("requested_subtitles", backend=True) CHAPTERS = _("chapters", backend=True) YTDL_SUB_CUSTOM_CHAPTERS = _("ytdl_sub_custom_chapters", backend=True) YTDL_SUB_REGEX_SOURCE_VARS = _("ytdl_sub_regex_source_vars", backend=True) -YTDL_SUB_MATCH_FILTER_REJECT = _("ytdl_sub_match_filter_reject", backend=True) SPONSORBLOCK_CHAPTERS = _("sponsorblock_chapters", backend=True) SPLIT_BY_CHAPTERS_PARENT_ENTRY = _("split_by_chapters_parent_entry", backend=True) COMMENTS = _("comments", backend=True) diff --git a/src/ytdl_sub/plugins/audio_extract.py b/src/ytdl_sub/plugins/audio_extract.py index 7418a146..750429de 100644 --- a/src/ytdl_sub/plugins/audio_extract.py +++ b/src/ytdl_sub/plugins/audio_extract.py @@ -8,6 +8,8 @@ from ytdl_sub.config.preset_options import OptionsDictValidator from ytdl_sub.downloaders.ytdl_options_builder import YTDLOptionsBuilder from ytdl_sub.entries.entry import Entry from ytdl_sub.utils.exceptions import FileNotDownloadedException +from ytdl_sub.utils.file_handler import FileMetadata +from ytdl_sub.validators.audo_codec_validator import AUDIO_CODEC_EXTS from ytdl_sub.validators.audo_codec_validator import AUDIO_CODEC_TYPES_EXTENSION_MAPPING from ytdl_sub.validators.audo_codec_validator import AudioTypeValidator from ytdl_sub.validators.validators import FloatValidator @@ -49,7 +51,7 @@ class AudioExtractOptions(OptionsDictValidator): def codec(self) -> str: """ The codec to output after extracting the audio. Supported codecs are aac, flac, mp3, m4a, - opus, vorbis, wav. + opus, vorbis, wav, and best to grab the best possible format at runtime. """ return self._codec @@ -105,12 +107,39 @@ class AudioExtractPlugin(Plugin[AudioExtractOptions]): FileNotDownloadedException If the audio file is not found """ - new_ext = AUDIO_CODEC_TYPES_EXTENSION_MAPPING[self.plugin_options.codec] - extracted_audio_file = entry.get_download_file_path().removesuffix(entry.ext) + new_ext + extracted_audio_file = entry.get_download_file_path() + + # yt-dlp doesn't record which ext is used, so try to find it + if self.plugin_options.codec == "best": + new_ext = "m4a" + + for possible_ext in AUDIO_CODEC_EXTS: + extracted_audio_file = ( + entry.get_download_file_path().removesuffix(entry.ext) + possible_ext + ) + + if os.path.isfile(extracted_audio_file): + new_ext = possible_ext + break + else: + new_ext = AUDIO_CODEC_TYPES_EXTENSION_MAPPING[self.plugin_options.codec] + extracted_audio_file = entry.get_download_file_path().removesuffix(entry.ext) + new_ext + + entry.add_kwargs({"ext": new_ext}) + if not self.is_dry_run: if not os.path.isfile(extracted_audio_file): raise FileNotDownloadedException("Failed to find the extracted audio file") - entry.add_kwargs({"ext": new_ext}) - return entry + + def post_process_entry(self, entry: Entry) -> Optional[FileMetadata]: + """ + Warn the user that best cannot infer the format that will be used at run-time. + """ + if self.plugin_options.codec == "best" and self.is_dry_run: + return FileMetadata( + "Caution: extracted audio with 'best' format is not known during dry-run. " + "Defaulting to m4a." + ) + return None diff --git a/src/ytdl_sub/plugins/date_range.py b/src/ytdl_sub/plugins/date_range.py index 3ad3932b..1d93a483 100644 --- a/src/ytdl_sub/plugins/date_range.py +++ b/src/ytdl_sub/plugins/date_range.py @@ -1,10 +1,10 @@ -from typing import Dict +from typing import List from typing import Optional +from typing import Tuple from ytdl_sub.config.plugin import Plugin from ytdl_sub.config.preset_options import OptionsDictValidator -from ytdl_sub.downloaders.ytdl_options_builder import YTDLOptionsBuilder -from ytdl_sub.utils.datetime import to_date_range +from ytdl_sub.utils.datetime import to_date_str from ytdl_sub.validators.string_datetime import StringDatetimeValidator @@ -48,25 +48,25 @@ class DateRangeOptions(OptionsDictValidator): class DateRangePlugin(Plugin[DateRangeOptions]): plugin_options_type = DateRangeOptions - def ytdl_options(self) -> Optional[Dict]: + def ytdl_options_match_filters(self) -> Tuple[List[str], List[str]]: """ Returns ------- - YTDL options for setting a date range + match filters for before (non-breaking) and after (breaking) """ - ytdl_options_builder = YTDLOptionsBuilder() + match_filters: List[str] = [] + breaking_match_filters: List[str] = [] - source_date_range = to_date_range( - before=self.plugin_options.before, - after=self.plugin_options.after, - overrides=self.overrides, - ) - if source_date_range: - ytdl_options_builder.add({"daterange": source_date_range}) + if self.plugin_options.before: + before_str = to_date_str( + date_validator=self.plugin_options.before, overrides=self.overrides + ) + match_filters.append(f"upload_date < {before_str}") - # Only add break_on_reject if after is specified, but not before. - # Otherwise, it can break on first metadata pull if it's after the 'before' - if self.plugin_options.after and not self.plugin_options.before: - ytdl_options_builder.add({"break_on_reject": True}) + if self.plugin_options.after: + after_str = to_date_str( + date_validator=self.plugin_options.after, overrides=self.overrides + ) + breaking_match_filters.append(f"upload_date >= {after_str}") - return ytdl_options_builder.to_dict() + return match_filters, breaking_match_filters diff --git a/src/ytdl_sub/plugins/file_convert.py b/src/ytdl_sub/plugins/file_convert.py index 8d2e1cd0..fa6c0c1f 100644 --- a/src/ytdl_sub/plugins/file_convert.py +++ b/src/ytdl_sub/plugins/file_convert.py @@ -131,13 +131,14 @@ class FileConvertPlugin(Plugin[FileConvertOptions]): """ if self.plugin_options.convert_with == "yt-dlp": return { + "merge_output_format": self.plugin_options.convert_to, "postprocessors": [ { "key": "FFmpegVideoRemuxer", "when": "post_process", "preferedformat": self.plugin_options.convert_to, } - ] + ], } return None diff --git a/src/ytdl_sub/plugins/format.py b/src/ytdl_sub/plugins/format.py new file mode 100644 index 00000000..7f1ccc06 --- /dev/null +++ b/src/ytdl_sub/plugins/format.py @@ -0,0 +1,44 @@ +from typing import Dict +from typing import Optional + +from ytdl_sub.config.plugin import Plugin +from ytdl_sub.config.preset_options import OptionsValidator +from ytdl_sub.validators.validators import StringValidator + + +class FormatOptions(OptionsValidator): + """ + Set ``--format`` to pass into yt-dlp to download a specific format quality. + Uses the same syntax as yt-dlp. + + Usage: + + .. code-block:: yaml + + presets: + my_example_preset: + format: "(bv*[height<=1080]+bestaudio/best[height<=1080])" + """ + + def __init__(self, name, value): + super().__init__(name, value) + self._format = StringValidator(name=name, value=value).value + + @property + def format(self) -> str: + """ + yt-dlp format, uses same syntax as yt-dlp. + """ + return self._format + + +class FormatPlugin(Plugin[FormatOptions]): + plugin_options_type = FormatOptions + + def ytdl_options(self) -> Optional[Dict]: + """ + Returns + ------- + yt-dlp format + """ + return {"format": self.plugin_options.format} diff --git a/src/ytdl_sub/plugins/match_filters.py b/src/ytdl_sub/plugins/match_filters.py index dda5f370..ef4d6d4a 100644 --- a/src/ytdl_sub/plugins/match_filters.py +++ b/src/ytdl_sub/plugins/match_filters.py @@ -1,21 +1,61 @@ +import copy from typing import Any -from typing import Dict from typing import List -from typing import Optional - -from yt_dlp import match_filter_func +from typing import Tuple from ytdl_sub.config.plugin import Plugin -from ytdl_sub.config.plugin import PluginPriority from ytdl_sub.config.preset_options import OptionsDictValidator -from ytdl_sub.entries.entry import Entry -from ytdl_sub.entries.variables.kwargs import YTDL_SUB_MATCH_FILTER_REJECT from ytdl_sub.utils.logger import Logger from ytdl_sub.validators.validators import StringListValidator logger = Logger.get("match_filters") +def default_filters() -> Tuple[List[str], List[str]]: + """ + Returns + ------- + Default filters and breaking filters to always use + """ + return ["!is_live & !is_upcoming & !post_live"], [] + + +def combine_filters(filters: List[str], to_combine: List[str]) -> List[str]: + """ + Parameters + ---------- + filters + User-defined match-filters + to_combine + Filters that need to be combined via AND to the original filters. + These are derived from plugins + + Returns + ------- + merged filters + + Raises + ------ + ValueError + Only supports combining 1 filter at this time. Should never be hit by users + """ + if len(to_combine) == 0: + return filters + if not filters: + return copy.deepcopy(to_combine) + + if len(to_combine) > 1: + raise ValueError("Match-filters to combine only supports 1 at this time") + + output_filters: List[str] = [] + filter_to_combine: str = to_combine[0] + + for match_filter in filters: + output_filters.append(f"{match_filter} & {filter_to_combine}") + + return output_filters + + class MatchFiltersOptions(OptionsDictValidator): """ Set ``--match-filters``` to pass into yt-dlp to filter entries from being downloaded. @@ -46,7 +86,7 @@ class MatchFiltersOptions(OptionsDictValidator): # - "availability=?public" """ - _required_keys = {"filters"} + _optional_keys = {"filters"} @classmethod def partial_validate(cls, name: str, value: Any) -> None: @@ -57,44 +97,25 @@ class MatchFiltersOptions(OptionsDictValidator): def __init__(self, name, value): super().__init__(name, value) - self._filters = self._validate_key(key="filters", validator=StringListValidator).list + self._filters = self._validate_key_if_present(key="filters", validator=StringListValidator) @property def filters(self) -> List[str]: """ The filters themselves. If used multiple times, the filter matches if at least one of the conditions are met. For logical AND's between match filters, use the ``&`` operator in - a single match filter. + a single match filter. These are applied when gathering metadata. """ - return [validator.value for validator in self._filters] + return [validator.value for validator in self._filters.list] if self._filters else [] class MatchFiltersPlugin(Plugin[MatchFiltersOptions]): plugin_options_type = MatchFiltersOptions - priority = PluginPriority(modify_entry=PluginPriority.MODIFY_ENTRY_FIRST) - def ytdl_options(self) -> Optional[Dict]: + def ytdl_options_match_filters(self) -> Tuple[List[str], List[str]]: """ Returns ------- - match_filter after calling the utility function for it + match_filters to apply at the metadata stage """ - match_filters: List[str] = [] - for filter_str in self.plugin_options.filters: - logger.debug("Adding match-filter %s", filter_str) - match_filters.append(filter_str) - - return { - "match_filter": match_filter_func(match_filters), - } - - def modify_entry(self, entry: Entry) -> Optional[Entry]: - """ - If an entry is marked as not being downloaded due to a match_filter reject, - do not propagate the entry further (especially since there is no entry file!) - """ - if entry.kwargs_get(YTDL_SUB_MATCH_FILTER_REJECT, False): - logger.info("Entry rejected by match-filter, skipping ..") - return None - - return entry + return self.plugin_options.filters, [] diff --git a/src/ytdl_sub/plugins/regex.py b/src/ytdl_sub/plugins/regex.py index 29fe58be..d2228190 100644 --- a/src/ytdl_sub/plugins/regex.py +++ b/src/ytdl_sub/plugins/regex.py @@ -124,10 +124,13 @@ class FromSourceVariablesRegex(StrictDictValidator): class RegexOptions(OptionsDictValidator): r""" Performs regex matching on an entry's source or override variables. Regex can be used to filter - entries from proceeding with download or capture groups to create new source variables. NOTE to - use backslashes anywhere in your regex, i.e. ``\d``, you must add another backslash escape. This - means ``\d`` should be written as ``\\d``. This is because YAML requires an escape for any - backslash usage. + entries from proceeding with download or capture groups to create new source variables. + + NOTE that YAML differentiates between single-quote (``'``) and double-quote (``"``), which can + affect regex. Double-quote implies string literals, i.e. ``"\n"`` is the literal chars ``\n``, + whereas single-quote, ``'\n'`` gets evaluated to a new line. To escape ``\`` when using + single-quote, use ``\\``. This is necessary if you want your regex to be something like + ``\d\n`` to match a number and adjacent new-line. It must be written as ``\\d\n``. If you want to regex-search multiple source variables to create a logical OR effect, you can create an override variable that contains the concatenation of them, and search that with regex. @@ -162,10 +165,10 @@ class RegexOptions(OptionsDictValidator): # This tries to scrape a date from the description and produce new # source variables match: - - "([0-9]{4})-([0-9]{2})-([0-9]{2})" + - '([0-9]{4})-([0-9]{2})-([0-9]{2})' # Exclude any entry where the description contains #short exclude: - - "#short" + - '#short' # Each capture group creates these new source variables, respectively, # as well a sanitized version, i.e. `captured_upload_year_sanitized` diff --git a/src/ytdl_sub/prebuilt_presets/helpers/common.yaml b/src/ytdl_sub/prebuilt_presets/helpers/common.yaml index fda25402..0e00f73d 100644 --- a/src/ytdl_sub/prebuilt_presets/helpers/common.yaml +++ b/src/ytdl_sub/prebuilt_presets/helpers/common.yaml @@ -3,13 +3,13 @@ presets: best_video_quality: + format: "bestvideo+bestaudio/best" ytdl_options: - format: "bestvideo+bestaudio/best" merge_output_format: "mp4" max_1080p: + format: "(bv*[height<=1080]+bestaudio/best[height<=1080])" ytdl_options: - format: "(bv*[height<=1080]+bestaudio/best[height<=1080])" merge_output_format: "mp4" chunk_initial_download: diff --git a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml index 95911cb7..c889a053 100644 --- a/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml +++ b/src/ytdl_sub/prebuilt_presets/tv_show/tv_show.yaml @@ -6,12 +6,13 @@ presets: - "_plex_base" - "_episode_base" - "_episode_video_tags" - ytdl_options: - format: "(bv*[ext=mp4][vcodec~='^((he|a)vc|h26[45])']+ba[ext=m4a]) / (bv[ext=mp4]*+ba[ext=m4a]/b)" + format: "(bv*[ext=mp4][vcodec~='^((he|a)vc|h26[45])']+ba[ext=m4a]) / (bv[ext=mp4]*+ba[ext=m4a]/b)" overrides: tv_show_poster_file_name: "poster.jpg" tv_show_fanart_file_name: "fanart.jpg" season_poster_file_name: "Season {season_number_padded}/Season{season_number_padded}.jpg" + file_convert: + convert_to: "mp4" # webm doesn't play in many plex clients, so use mp4 instead _jellyfin_tv_show: preset: diff --git a/src/ytdl_sub/subscriptions/base_subscription.py b/src/ytdl_sub/subscriptions/base_subscription.py index e5c38ca7..28f9caa6 100644 --- a/src/ytdl_sub/subscriptions/base_subscription.py +++ b/src/ytdl_sub/subscriptions/base_subscription.py @@ -1,5 +1,6 @@ from abc import ABC from pathlib import Path +from typing import Optional from ytdl_sub.config.config_validator import ConfigOptions from ytdl_sub.config.preset import Preset @@ -8,8 +9,11 @@ from ytdl_sub.config.preset_options import OutputOptions from ytdl_sub.config.preset_options import Overrides from ytdl_sub.config.preset_options import YTDLOptions from ytdl_sub.downloaders.url.validators import MultiUrlValidator +from ytdl_sub.utils.logger import Logger from ytdl_sub.ytdl_additions.enhanced_download_archive import EnhancedDownloadArchive +logger = Logger.get("subscription") + class BaseSubscription(ABC): """ @@ -43,10 +47,16 @@ class BaseSubscription(ABC): self._config_options = config_options self._preset_options = preset_options + migrated_file_name: Optional[str] = None + if migrated_file_name_option := self.output_options.migrated_download_archive_name: + migrated_file_name = self.overrides.apply_formatter(migrated_file_name_option) + + # TODO: Do not include this as part of the subscription self._enhanced_download_archive = EnhancedDownloadArchive( file_name=self.overrides.apply_formatter(self.output_options.download_archive_name), working_directory=self.working_directory, output_directory=self.output_directory, + migrated_file_name=migrated_file_name, ) @property diff --git a/src/ytdl_sub/subscriptions/subscription.py b/src/ytdl_sub/subscriptions/subscription.py index 829505f8..5e06ad91 100644 --- a/src/ytdl_sub/subscriptions/subscription.py +++ b/src/ytdl_sub/subscriptions/subscription.py @@ -1,17 +1,23 @@ import copy +from typing import Any from typing import Dict from typing import List +from typing import Optional from ytdl_sub.config.config_file import ConfigFile from ytdl_sub.config.preset import Preset from ytdl_sub.subscriptions.subscription_download import SubscriptionDownload +from ytdl_sub.subscriptions.subscription_validators import SubscriptionValidator from ytdl_sub.utils.exceptions import ValidationException +from ytdl_sub.utils.logger import Logger from ytdl_sub.utils.yaml import load_yaml from ytdl_sub.validators.validators import LiteralDictValidator FILE_PRESET_APPLY_KEY = "__preset__" FILE_SUBSCRIPTION_VALUE_KEY = "__value__" +logger = Logger.get("subscription") + class Subscription(SubscriptionDownload): @classmethod @@ -63,6 +69,28 @@ class Subscription(SubscriptionDownload): config=config, ) + @classmethod + def _maybe_get_subscription_value( + cls, config: ConfigFile, subscription_dict: Dict + ) -> Optional[str]: + subscription_value_key: Optional[str] = config.config_options.subscription_value + if FILE_SUBSCRIPTION_VALUE_KEY in subscription_dict: + if not isinstance(subscription_dict[FILE_SUBSCRIPTION_VALUE_KEY], str): + raise ValidationException( + f"Using {FILE_SUBSCRIPTION_VALUE_KEY} in a subscription" + f"must be a string that corresponds to an override variable" + ) + + subscription_value_key = subscription_dict[FILE_SUBSCRIPTION_VALUE_KEY] + + if subscription_value_key is not None: + logger.warning( + "Using %s in a subscription will eventually be deprecated in favor of writing " + "to the override variable `subscription_value`. Please update by Dec 2023.", + FILE_SUBSCRIPTION_VALUE_KEY, + ) + return subscription_value_key + @classmethod def from_file_path(cls, config: ConfigFile, subscription_path: str) -> List["Subscription"]: """ @@ -90,7 +118,9 @@ class Subscription(SubscriptionDownload): subscription_dict = load_yaml(file_path=subscription_path) has_file_preset = FILE_PRESET_APPLY_KEY in subscription_dict - has_file_subscription_value = FILE_SUBSCRIPTION_VALUE_KEY in subscription_dict + file_subscription_value: Optional[str] = cls._maybe_get_subscription_value( + config=config, subscription_dict=subscription_dict + ) # If a file preset is present... if has_file_preset: @@ -104,50 +134,22 @@ class Subscription(SubscriptionDownload): config = copy.deepcopy(config) config.presets.dict[FILE_PRESET_APPLY_KEY] = file_preset.dict - if has_file_subscription_value: - if not isinstance(subscription_dict[FILE_SUBSCRIPTION_VALUE_KEY], str): - raise ValidationException( - f"Using {FILE_SUBSCRIPTION_VALUE_KEY} in a subscription" - f"must be a string that corresponds to an override variable" - ) + subscriptions_dict: Dict[str, Any] = { + key: obj + for key, obj in subscription_dict.items() + if key not in [FILE_PRESET_APPLY_KEY, FILE_SUBSCRIPTION_VALUE_KEY] + } - for subscription_key, subscription_object in subscription_dict.items(): - - # Skip file preset or value - if subscription_key in [FILE_PRESET_APPLY_KEY, FILE_SUBSCRIPTION_VALUE_KEY]: - continue - - # If the subscription obj is just a string, set it to the override variable - # defined in FILE_SUBSCRIPTION_VALUE_KEY - if isinstance(subscription_object, str) and has_file_subscription_value: - subscription_object = { - "overrides": { - subscription_dict[FILE_SUBSCRIPTION_VALUE_KEY]: subscription_object - } - } - elif isinstance(subscription_object, dict): - pass - elif isinstance(subscription_object, str) and not has_file_subscription_value: - raise ValidationException( - f"Subscription {subscription_key} is a string, but " - f"{FILE_SUBSCRIPTION_VALUE_KEY} is not set to an override variable" - ) - else: - raise ValidationException( - f"Subscription {subscription_key} should be in the form of a preset" - ) - - # If it has file_preset, inject it as a parent preset - if has_file_preset: - parent_preset = subscription_object.get("preset", []) - # Preset can be a single string - if isinstance(parent_preset, str): - parent_preset = [parent_preset] - - # If it's not a string or list, it will fail downstream - if isinstance(parent_preset, list): - subscription_object["preset"] = parent_preset + [FILE_PRESET_APPLY_KEY] + subscriptions_dicts = SubscriptionValidator( + name="", + value=subscriptions_dict, + config=config, + presets=[FILE_PRESET_APPLY_KEY] if has_file_preset else [], + indent_overrides=[], + subscription_value=file_subscription_value, + ).subscription_dicts() + for subscription_key, subscription_object in subscriptions_dicts.items(): subscriptions.append( cls.from_dict( config=config, diff --git a/src/ytdl_sub/subscriptions/subscription_download.py b/src/ytdl_sub/subscriptions/subscription_download.py index 60d580bb..4e6eebcc 100644 --- a/src/ytdl_sub/subscriptions/subscription_download.py +++ b/src/ytdl_sub/subscriptions/subscription_download.py @@ -295,6 +295,9 @@ class SubscriptionDownload(BaseSubscription, ABC): continue entry = downloader.download(entry) + if entry is None: + continue + entry_metadata = FileMetadata() if isinstance(entry, tuple): entry, entry_metadata = entry diff --git a/src/ytdl_sub/subscriptions/subscription_validators.py b/src/ytdl_sub/subscriptions/subscription_validators.py new file mode 100644 index 00000000..93390183 --- /dev/null +++ b/src/ytdl_sub/subscriptions/subscription_validators.py @@ -0,0 +1,208 @@ +import copy +from abc import ABC +from abc import abstractmethod +from typing import Dict +from typing import List +from typing import Optional + +from ytdl_sub.config.config_file import ConfigFile +from ytdl_sub.config.preset_options import Overrides +from ytdl_sub.validators.validators import DictValidator +from ytdl_sub.validators.validators import StringListValidator +from ytdl_sub.validators.validators import StringValidator +from ytdl_sub.validators.validators import Validator + + +def subscription_indent_variable_name(index: int) -> str: + """ + Parameters + ---------- + index + 0th-based index + + Returns + ------- + subscription_index_i, where i is 1-based index + """ + return f"subscription_indent_{index + 1}" + + +def subscription_value_variable_name() -> str: + """ + Returns + ------- + The override variable name containing the subscription value if present + """ + return "subscription_value" + + +def maybe_indent_override_value(value: str) -> Optional[str]: + """ + Returns + ------- + Value if it is an overide [Value]. None otherwise. + """ + if value.startswith("[") and value.endswith("]"): + return value[1:-1] + return None + + +class SubscriptionOutput(Validator, ABC): + def __init__(self, name, value, presets: List[str], indent_overrides: List[str]): + super().__init__(name, value) + self._presets = copy.deepcopy(presets) + self._indent_overrides = copy.deepcopy(indent_overrides) + + def _indent_overrides_dict(self) -> Dict[str, str]: + """ + Returns + ------- + indent overrides to merge with the preset dict's overrides + """ + return { + subscription_indent_variable_name(i): self._indent_overrides[i] + for i in range(len(self._indent_overrides)) + } + + @abstractmethod + def subscription_dicts(self) -> Dict[str, Dict]: + """ + Returns + ------- + Subscriptions in the form of ``{ subscription_name: preset_dict }`` + """ + + +class SubscriptionPresetDictValidator(SubscriptionOutput, DictValidator): + def __init__(self, name, value, presets: List[str], indent_overrides: List[str]): + super().__init__(name=name, value=value, presets=presets, indent_overrides=indent_overrides) + + _ = self._validate_key_if_present(key="preset", validator=StringListValidator, default=[]) + _ = self._validate_key_if_present(key="overrides", validator=Overrides, default={}) + + def subscription_dicts(self) -> Dict[str, Dict]: + output_dict = copy.deepcopy(self._dict) + parent_presets = output_dict.get("preset", []) + + # Preset can be a single string + if isinstance(parent_presets, str): + parent_presets = [parent_presets] + + output_dict["preset"] = parent_presets + self._presets + output_dict["overrides"] = dict( + output_dict.get("overrides", {}), **self._indent_overrides_dict() + ) + return {self._leaf_name: output_dict} + + +class SubscriptionValueValidator(SubscriptionOutput, StringValidator): + def __init__( + self, + name, + value, + config: ConfigFile, + presets: List[str], + indent_overrides: List[str], + subscription_value: Optional[str], + ): + super().__init__(name=name, value=value, presets=presets, indent_overrides=indent_overrides) + + if self._leaf_name in config.presets.keys: + raise self._validation_exception( + f"{self._leaf_name} conflicts with an existing preset name and cannot be " + f"used as a subscription name" + ) + + if subscription_value is None: + raise self._validation_exception( + f"Subscription {self._leaf_name} is a string, but the subscription value " + f"is not set to an override variable" + ) + + self._subscription_value: str = subscription_value + + def subscription_dicts(self) -> Dict[str, Dict]: + return { + self._leaf_name: { + "preset": self._presets, + "overrides": dict( + { + self._subscription_value: self.value, + "subscription_value": self.value, + }, + **self._indent_overrides_dict(), + ), + } + } + + +class SubscriptionValidator(SubscriptionOutput): + """ + Top-level subscription validator + """ + + def __init__( + self, + name, + value, + config: ConfigFile, + presets: List[str], + indent_overrides: List[str], + subscription_value: Optional[str], + ): + super().__init__(name=name, value=value, presets=presets, indent_overrides=indent_overrides) + self._children: List[SubscriptionOutput] = [] + + for key, obj in value.items(): + obj_name = f"{name}.{key}" if name else key + + if isinstance(obj, str): + self._children.append( + SubscriptionValueValidator( + name=obj_name, + value=obj, + config=config, + presets=presets, + indent_overrides=indent_overrides, + subscription_value=subscription_value, + ) + ) + elif isinstance(value, dict): + if key in config.presets.keys: + self._children.append( + SubscriptionValidator( + name=obj_name, + value=obj, + config=config, + presets=presets + [key], + indent_overrides=indent_overrides, + subscription_value=subscription_value, + ) + ) + elif override_value := maybe_indent_override_value(key): + self._children.append( + SubscriptionValidator( + name=obj_name, + value=obj, + config=config, + presets=presets, + indent_overrides=indent_overrides + [override_value], + subscription_value=subscription_value, + ) + ) + else: + self._children.append( + SubscriptionPresetDictValidator( + name=obj_name, + value=obj, + presets=presets, + indent_overrides=indent_overrides, + ) + ) + + def subscription_dicts(self) -> Dict[str, Dict]: + subscription_dicts: Dict[str, Dict] = {} + for child in self._children: + subscription_dicts = dict(subscription_dicts, **child.subscription_dicts()) + + return subscription_dicts diff --git a/src/ytdl_sub/subscriptions/subscription_ytdl_options.py b/src/ytdl_sub/subscriptions/subscription_ytdl_options.py index 4ce74409..6a7a7cea 100644 --- a/src/ytdl_sub/subscriptions/subscription_ytdl_options.py +++ b/src/ytdl_sub/subscriptions/subscription_ytdl_options.py @@ -5,20 +5,27 @@ from typing import Optional from typing import Type from typing import TypeVar +from yt_dlp import match_filter_func + from ytdl_sub.config.plugin import Plugin from ytdl_sub.config.preset import Preset from ytdl_sub.downloaders.ytdl_options_builder import YTDLOptionsBuilder from ytdl_sub.plugins.audio_extract import AudioExtractPlugin from ytdl_sub.plugins.chapters import ChaptersPlugin -from ytdl_sub.plugins.date_range import DateRangePlugin from ytdl_sub.plugins.file_convert import FileConvertPlugin +from ytdl_sub.plugins.format import FormatPlugin from ytdl_sub.plugins.match_filters import MatchFiltersPlugin +from ytdl_sub.plugins.match_filters import combine_filters +from ytdl_sub.plugins.match_filters import default_filters from ytdl_sub.plugins.subtitles import SubtitlesPlugin from ytdl_sub.utils.ffmpeg import FFMPEG +from ytdl_sub.utils.logger import Logger from ytdl_sub.ytdl_additions.enhanced_download_archive import EnhancedDownloadArchive PluginT = TypeVar("PluginT", bound=Plugin) +logger = Logger.get("ytdl-options") + class SubscriptionYTDLOptions: def __init__( @@ -87,15 +94,67 @@ class SubscriptionYTDLOptions: return ytdl_options def _plugin_ytdl_options(self, plugin: Type[PluginT]) -> Dict: - if not (audio_extract_plugin := self._get_plugin(plugin)): - return {} + if plugin_obj := self._get_plugin(plugin): + return plugin_obj.ytdl_options() - return audio_extract_plugin.ytdl_options() + return {} @property def _user_ytdl_options(self) -> Dict: return self._preset.ytdl_options.dict + @property + def _plugin_match_filters(self) -> Dict: + """ + All match-filters from every plugin to fetch metadata. + In order for other plugins to not collide with user-defined match-filters, do + + match_filters = user_match_filters or {} + for plugin in plugins: + for filter in match_filters: + AND plugin's match filters onto the existing filters + + Otherwise, the filters separately act as an OR + """ + match_filters, breaking_match_filters = default_filters() + + match_filters_plugin = self._get_plugin(MatchFiltersPlugin) + if match_filters_plugin: + ( + user_match_filters, + user_breaking_match_filters, + ) = match_filters_plugin.ytdl_options_match_filters() + match_filters = combine_filters(filters=user_match_filters, to_combine=match_filters) + breaking_match_filters = combine_filters( + filters=user_breaking_match_filters, to_combine=breaking_match_filters + ) + + for plugin in self._plugins: + # Do not re-add original match-filters plugin + if isinstance(plugin, MatchFiltersPlugin): + continue + + pl_match_filters, pl_breaking_match_filters = plugin.ytdl_options_match_filters() + + match_filters = combine_filters(filters=match_filters, to_combine=pl_match_filters) + breaking_match_filters = combine_filters( + filters=breaking_match_filters, to_combine=pl_breaking_match_filters + ) + + logger.debug( + "Setting match-filters: %s", + "\n - ".join([""] + match_filters) if match_filters else "[]", + ) + logger.debug( + "Setting breaking-match-filters: %s", + "\n - ".join([""] + breaking_match_filters) if breaking_match_filters else "[]", + ) + return { + "match_filter": match_filter_func( + filters=match_filters, breaking_filters=breaking_match_filters + ) + } + def metadata_builder(self) -> YTDLOptionsBuilder: """ Returns @@ -106,7 +165,8 @@ class SubscriptionYTDLOptions: return YTDLOptionsBuilder().add( self._global_options, self._output_options, - self._plugin_ytdl_options(DateRangePlugin), + self._plugin_match_filters, + self._plugin_ytdl_options(FormatPlugin), self._user_ytdl_options, # user ytdl options... self._info_json_only_options, # then info_json_only options ) @@ -121,11 +181,11 @@ class SubscriptionYTDLOptions: ytdl_options_builder = YTDLOptionsBuilder().add( self._global_options, self._output_options, - self._plugin_ytdl_options(MatchFiltersPlugin), self._plugin_ytdl_options(FileConvertPlugin), self._plugin_ytdl_options(SubtitlesPlugin), self._plugin_ytdl_options(ChaptersPlugin), self._plugin_ytdl_options(AudioExtractPlugin), + self._plugin_ytdl_options(FormatPlugin), self._user_ytdl_options, # user ytdl options... self._download_only_options, # then download_only options ) diff --git a/src/ytdl_sub/utils/datetime.py b/src/ytdl_sub/utils/datetime.py index d7b1e07a..07fcaacf 100644 --- a/src/ytdl_sub/utils/datetime.py +++ b/src/ytdl_sub/utils/datetime.py @@ -1,6 +1,7 @@ from typing import Optional from yt_dlp import DateRange +from yt_dlp.utils import datetime_from_str from ytdl_sub.config.preset_options import Overrides from ytdl_sub.validators.string_datetime import StringDatetimeValidator @@ -29,3 +30,13 @@ def to_date_range( return DateRange(start=start, end=end) return None + + +def to_date_str(date_validator: StringDatetimeValidator, overrides: Overrides) -> str: + """ + Returns + ------- + Date in the form of YYYYMMDD as a string + """ + date_str = overrides.apply_formatter(formatter=date_validator) + return datetime_from_str(date_str).date().strftime("%Y%m%d") diff --git a/src/ytdl_sub/utils/logger.py b/src/ytdl_sub/utils/logger.py index 058c57f2..70bde484 100644 --- a/src/ytdl_sub/utils/logger.py +++ b/src/ytdl_sub/utils/logger.py @@ -220,7 +220,14 @@ class Logger: # Log validation exceptions as-is if isinstance(exception, ValidationException): - logger.error(exception) + logger.error(str(exception)) + # Log permission errors explicitly + elif isinstance(exception, PermissionError): + logger.error( + "A permission error occurred:\n%s\n" + "The user running ytdl-sub must have permission to this file/directory.", + str(exception), + ) # For other uncaught errors, log as bug: else: logger.exception("An uncaught error occurred:") diff --git a/src/ytdl_sub/validators/audo_codec_validator.py b/src/ytdl_sub/validators/audo_codec_validator.py index 7410ac86..959d697a 100644 --- a/src/ytdl_sub/validators/audo_codec_validator.py +++ b/src/ytdl_sub/validators/audo_codec_validator.py @@ -21,7 +21,7 @@ VIDEO_CODEC_EXTS: Set[str] = {"avi", "flv", "mkv", "mov", "mp4", "webm"} class AudioTypeValidator(StringSelectValidator): _expected_value_type_name = "codec" - _select_values = AUDIO_CODEC_TYPES + _select_values = AUDIO_CODEC_TYPES.union({"best"}) # support 'best' in the audio extract plugin class FileTypeValidator(StringSelectValidator): diff --git a/src/ytdl_sub/validators/validators.py b/src/ytdl_sub/validators/validators.py index 97e59411..91b1cf6c 100644 --- a/src/ytdl_sub/validators/validators.py +++ b/src/ytdl_sub/validators/validators.py @@ -93,6 +93,26 @@ class Validator(ABC): """ return validation_exception(self._name, error_message, exception_class) + @final + @property + def _root_name(self) -> str: + """ + Returns + ------- + "first" from the first.element.of.the.name + """ + return self._name.split(".")[0] + + @final + @property + def _leaf_name(self) -> str: + """ + Returns + ------- + "first" from the first.element.of.the.name + """ + return self._name.split(".")[-1] + class ValueValidator(Validator, ABC, Generic[ValueT]): """ @@ -179,16 +199,6 @@ class DictValidator(Validator): super().__init__(name, value) self.__validator_dict: Dict[str, Validator] = {} - @final - @property - def _root_name(self) -> str: - """ - Returns - ------- - "first" from the first.element.of.the.name - """ - return self._name.split(".")[0] - @final @property def _dict(self) -> dict: diff --git a/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py b/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py index 31cc3c13..ea5777e1 100644 --- a/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py +++ b/src/ytdl_sub/ytdl_additions/enhanced_download_archive.py @@ -18,6 +18,9 @@ from ytdl_sub.entries.variables.kwargs import SPLIT_BY_CHAPTERS_PARENT_ENTRY from ytdl_sub.utils.file_handler import FileHandler from ytdl_sub.utils.file_handler import FileHandlerTransactionLog from ytdl_sub.utils.file_handler import FileMetadata +from ytdl_sub.utils.logger import Logger + +logger = Logger.get("archive") @dataclass @@ -358,11 +361,25 @@ class EnhancedDownloadArchive: """ @classmethod - def _maybe_load_download_mappings(cls, mapping_file_path: str) -> DownloadMappings: + def _maybe_load_download_mappings( + cls, mapping_file_path: str, migrated_mapping_file_path: Optional[str] + ) -> DownloadMappings: """ Tries to load download mappings if a file exists. Otherwise returns empty mappings. """ - # If a mapping file exists in the output directory, load it up. + if migrated_mapping_file_path is not None: + if os.path.isfile(migrated_mapping_file_path): + logger.warning( + "MIGRATION SUCCESSFUL, loading migrated archive file. Can now set " + "`output_options.migrated_download_archive` to " + "`output_options.download_archive`" + ) + return DownloadMappings.from_file(migrated_mapping_file_path) + + logger.warning( + "MIGRATION DETECTED, will write archive file to %s", migrated_mapping_file_path + ) + if os.path.isfile(mapping_file_path): return DownloadMappings.from_file(json_file_path=mapping_file_path) return DownloadMappings() @@ -373,14 +390,14 @@ class EnhancedDownloadArchive: working_directory: str, output_directory: str, dry_run: bool = False, + migrated_file_name: Optional[str] = None, ): self._file_name = file_name self._file_handler = FileHandler( working_directory=working_directory, output_directory=output_directory, dry_run=dry_run ) - self._download_mapping = self._maybe_load_download_mappings( - mapping_file_path=self.output_file_path - ) + self._download_mapping = DownloadMappings() # gets reinitialized + self._migrated_file_name = migrated_file_name self.num_entries_added: int = 0 self.num_entries_modified: int = 0 @@ -415,7 +432,8 @@ class EnhancedDownloadArchive: dry_run=dry_run, ) self._download_mapping = self._maybe_load_download_mappings( - mapping_file_path=self.output_file_path + mapping_file_path=self._output_file_path, + migrated_mapping_file_path=self._migrated_file_path, ) return self @@ -456,7 +474,7 @@ class EnhancedDownloadArchive: return self._file_name @property - def output_file_path(self) -> str: + def _output_file_path(self) -> str: """ Returns ------- @@ -464,6 +482,17 @@ class EnhancedDownloadArchive: """ return str(Path(self.output_directory) / self.file_name) + @property + def _migrated_file_path(self) -> Optional[str]: + """ + Returns + ------- + The migrated download mapping's file path in the output directory. + """ + if self._migrated_file_name: + return str(Path(self.output_directory) / self._migrated_file_name) + return None + @property def working_file_path(self) -> str: """ @@ -543,7 +572,17 @@ class EnhancedDownloadArchive: ------- self """ - if not self.get_file_handler_transaction_log().is_empty: + # If a migrated file name is present, always save to that file + if self._migrated_file_name: + self._download_mapping.to_file(output_json_file=self.working_file_path) + self.save_file_to_output_directory( + file_name=self.file_name, output_file_name=self._migrated_file_name + ) + # and delete the old one if the name differs + if self._file_name != self._migrated_file_name: + self.delete_file_from_output_directory(file_name=self.file_name) + # Otherwise, only save if there are changes to the transaction log + elif not self.get_file_handler_transaction_log().is_empty: self._download_mapping.to_file(output_json_file=self.working_file_path) self.save_file_to_output_directory(file_name=self.file_name) return self diff --git a/tests/e2e/plugins/test_audio_extract.py b/tests/e2e/plugins/test_audio_extract.py index ef906929..52277921 100644 --- a/tests/e2e/plugins/test_audio_extract.py +++ b/tests/e2e/plugins/test_audio_extract.py @@ -11,9 +11,8 @@ def single_song_preset_dict_old_format(output_directory): "preset": "single", # test multi-tags "music_tags": {"embed_thumbnail": True, "tags": {"genres": ["multi_tag_1", "multi_tag_2"]}}, - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, "overrides": { @@ -31,9 +30,8 @@ def single_song_preset_dict(output_directory): "music_tags": {"genres": ["multi_tag_1", "multi_tag_2"]}, # test the new embed_thumbnail plugin "embed_thumbnail": True, - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, "overrides": { @@ -43,14 +41,18 @@ def single_song_preset_dict(output_directory): } +@pytest.fixture +def single_song_best_format_preset_dict(single_song_preset_dict): + return dict(single_song_preset_dict, **{"audio_extract": {"codec": "best"}}) + + @pytest.fixture def multiple_songs_preset_dict(output_directory): return { "preset": "albums_from_playlists", "audio_extract": {"codec": "vorbis", "quality": 140}, - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, "overrides": { @@ -88,7 +90,7 @@ class TestAudioExtract: ) @pytest.mark.parametrize("dry_run", [True, False]) - def test_audio_extract_single_song_new_format( + def test_audio_extract_single_song( self, music_audio_config, single_song_preset_dict, @@ -113,6 +115,32 @@ class TestAudioExtract: expected_download_summary_file_name="plugins/test_audio_extract_single.json", ) + @pytest.mark.parametrize("dry_run", [True, False]) + def test_audio_extract_single_song_best_format( + self, + music_audio_config, + single_song_best_format_preset_dict, + output_directory, + dry_run, + ): + subscription = Subscription.from_dict( + config=music_audio_config, + preset_name="single_song_best_test", + preset_dict=single_song_best_format_preset_dict, + ) + + transaction_log = subscription.download(dry_run=dry_run) + assert_transaction_log_matches( + output_directory=output_directory, + transaction_log=transaction_log, + transaction_log_summary_file_name=f"plugins/test_audio_extract_single_best{'_dry_run' if dry_run else ''}.txt", + ) + assert_expected_downloads( + output_directory=output_directory, + dry_run=dry_run, + expected_download_summary_file_name=f"plugins/test_audio_extract_single_best{'_dry_run' if dry_run else ''}.json", + ) + @pytest.mark.parametrize("dry_run", [True, False]) def test_audio_extract_multiple_songs( self, diff --git a/tests/e2e/plugins/test_chapters.py b/tests/e2e/plugins/test_chapters.py index 93d8aeb9..291e2e8f 100644 --- a/tests/e2e/plugins/test_chapters.py +++ b/tests/e2e/plugins/test_chapters.py @@ -35,9 +35,8 @@ def sponsorblock_and_subs_preset_dict(output_directory) -> Dict: "Outro", ], }, - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, "overrides": {"artist": "JMC"}, diff --git a/tests/e2e/plugins/test_date_range.py b/tests/e2e/plugins/test_date_range.py index 47bf1b73..f1f8bccc 100644 --- a/tests/e2e/plugins/test_date_range.py +++ b/tests/e2e/plugins/test_date_range.py @@ -15,9 +15,8 @@ def recent_preset_dict(output_directory): return { "preset": "tv_show", "date_range": {"after": "20150101"}, - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "max_views": 100000, # do not download the popular PJ concert }, "overrides": { diff --git a/tests/e2e/plugins/test_match_filters.py b/tests/e2e/plugins/test_match_filters.py index 6e07e9a4..37b86f39 100644 --- a/tests/e2e/plugins/test_match_filters.py +++ b/tests/e2e/plugins/test_match_filters.py @@ -11,7 +11,6 @@ def preset_dict(output_directory): "preset": "music_video", "download": "https://www.youtube.com/watch?v=2zYF9JLHDmA", "output_options": {"output_directory": output_directory}, - # download the worst format so it is fast "ytdl_options": { "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, @@ -25,7 +24,6 @@ def playlist_preset_dict(output_directory): "preset": "music_video", "download": "https://www.youtube.com/playlist?list=PL5BC0FC26BECA5A35", "output_options": {"output_directory": output_directory}, - # download the worst format so it is fast "ytdl_options": { "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, @@ -33,7 +31,34 @@ def playlist_preset_dict(output_directory): } +@pytest.fixture +def livestream_preset_dict(output_directory): + return { + "preset": "music_video", + "download": "https://www.youtube.com/watch?v=DoUOrTJbIu4", + "output_options": {"output_directory": output_directory}, + "ytdl_options": { + "postprocessor_args": {"ffmpeg": ["-bitexact"]}, + }, + } + + class TestFileConvert: + def test_livestreams_download_filtered( + self, + music_video_config, + livestream_preset_dict, + output_directory, + ): + subscription = Subscription.from_dict( + config=music_video_config, + preset_name="match_filter_test", + preset_dict=livestream_preset_dict, + ) + + transaction_log = subscription.download(dry_run=False) + assert transaction_log.is_empty + @pytest.mark.parametrize("dry_run", [True, False]) def test_match_filters_empty( self, diff --git a/tests/e2e/plugins/test_music_tags.py b/tests/e2e/plugins/test_music_tags.py index 586bea3b..82d08956 100644 --- a/tests/e2e/plugins/test_music_tags.py +++ b/tests/e2e/plugins/test_music_tags.py @@ -13,9 +13,8 @@ def single_song_video_dict(output_directory): "output_options": {"output_directory": output_directory, "file_name": "will_error.mp4"}, # test multi-tags "music_tags": {"genres": ["multi_tag_1", "multi_tag_2"]}, - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, } diff --git a/tests/e2e/plugins/test_nfo_tags.py b/tests/e2e/plugins/test_nfo_tags.py index d226b8ba..8c3addaf 100644 --- a/tests/e2e/plugins/test_nfo_tags.py +++ b/tests/e2e/plugins/test_nfo_tags.py @@ -11,10 +11,7 @@ def subscription_dict(output_directory): "download": "https://www.youtube.com/shorts/ucYmEqmlhFw", # override the output directory with our fixture-generated dir "output_options": {"output_directory": output_directory}, - # download the worst format so it is fast - "ytdl_options": { - "format": "best[height<=480]", - }, + "format": "best[height<=480]", # download the worst format so it is fast "nfo_tags": { "tags": { "kodi_safe_title 🎸": "kodi_safe_value 🎸", diff --git a/tests/e2e/plugins/test_regex.py b/tests/e2e/plugins/test_regex.py index c9c575a4..a081adee 100644 --- a/tests/e2e/plugins/test_regex.py +++ b/tests/e2e/plugins/test_regex.py @@ -20,10 +20,7 @@ def regex_subscription_dict_base(output_directory): "download": "https://youtube.com/playlist?list=PL5BC0FC26BECA5A35", # override the output directory with our fixture-generated dir "output_options": {"output_directory": output_directory}, - # download the worst format so it is fast - "ytdl_options": { - "format": "best[height<=480]", - }, + "format": "best[height<=480]", # download the worst format so it is fast "regex": { # tests that skip_if_match_fails defaults to True "from": { diff --git a/tests/e2e/plugins/test_split_by_chapters.py b/tests/e2e/plugins/test_split_by_chapters.py index d1085e11..a7a39ae9 100644 --- a/tests/e2e/plugins/test_split_by_chapters.py +++ b/tests/e2e/plugins/test_split_by_chapters.py @@ -13,9 +13,8 @@ from ytdl_sub.utils.exceptions import ValidationException def yt_album_as_chapters_preset_dict(output_directory): return { "preset": "albums_from_chapters", - # download the worst format so it is fast + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", "postprocessor_args": {"ffmpeg": ["-bitexact"]}, # Must add this for reproducibility }, "overrides": { diff --git a/tests/e2e/plugins/test_subtitles.py b/tests/e2e/plugins/test_subtitles.py index 350b45c4..a8d6e840 100644 --- a/tests/e2e/plugins/test_subtitles.py +++ b/tests/e2e/plugins/test_subtitles.py @@ -18,10 +18,7 @@ def single_video_subs_embed_preset_dict(output_directory): "languages": ["en", "de"], "allow_auto_generated_subtitles": True, }, - # download the worst format so it is fast - "ytdl_options": { - "format": "worst[ext=mp4]", - }, + "format": "worst[ext=mp4]", # download the worst format so it is fast "overrides": {"artist": "JMC"}, } diff --git a/tests/e2e/soundcloud/test_soundcloud_discography.py b/tests/e2e/soundcloud/test_soundcloud_discography.py index f435245e..6788118d 100644 --- a/tests/e2e/soundcloud/test_soundcloud_discography.py +++ b/tests/e2e/soundcloud/test_soundcloud_discography.py @@ -9,10 +9,7 @@ from ytdl_sub.subscriptions.subscription import Subscription def subscription_dict(output_directory): return { "preset": "soundcloud_discography", - # download the worst format so it is fast - "ytdl_options": { - "format": "worst[ext=mp3]", - }, + "format": "worst[ext=mp3]", # download the worst format so it is fast "overrides": { "track_artist": "j_b", "sc_artist_url": "https://soundcloud.com/jessebannon", diff --git a/tests/e2e/youtube/test_channel.py b/tests/e2e/youtube/test_channel.py index f686277c..b9481521 100644 --- a/tests/e2e/youtube/test_channel.py +++ b/tests/e2e/youtube/test_channel.py @@ -9,8 +9,8 @@ from ytdl_sub.subscriptions.subscription import Subscription def channel_preset_dict(output_directory): return { "preset": "tv_show", + "format": "worst[ext=mp4]", # download the worst format so it is fast "ytdl_options": { - "format": "worst[ext=mp4]", # download the worst format so it is fast "max_views": 100000, # do not download the popular PJ concert "break_on_reject": False, # do not break from max views }, diff --git a/tests/e2e/youtube/test_playlist.py b/tests/e2e/youtube/test_playlist.py index 8235ce2c..f8899777 100644 --- a/tests/e2e/youtube/test_playlist.py +++ b/tests/e2e/youtube/test_playlist.py @@ -1,9 +1,14 @@ +from pathlib import Path +from typing import Dict + import pytest from conftest import assert_logs from e2e.conftest import mock_run_from_cli from expected_download import assert_expected_downloads from expected_transaction_log import assert_transaction_log_matches +from mergedeep import mergedeep +from ytdl_sub.config.config_file import ConfigFile from ytdl_sub.downloaders.ytdlp import YTDLP from ytdl_sub.subscriptions.subscription import Subscription @@ -16,10 +21,7 @@ def playlist_preset_dict(output_directory): "season_by_collection__episode_by_year_month_day", "collection_season_1", ], - # download the worst format so it is fast - "ytdl_options": { - "format": "worst[ext=mp4]", - }, + "format": "worst[ext=mp4]", # download the worst format so it is fast "output_directory_nfo_tags": { "nfo_name": "tvshow.nfo", "nfo_root": "test", @@ -54,6 +56,50 @@ class TestPlaylist: files exist and have the expected md5 file hashes. """ + @classmethod + def _ensure_subscription_migrates( + cls, + config: ConfigFile, + subscription_name: str, + subscription_dict: Dict, + output_directory: Path, + ): + # Ensure download archive migrates + mergedeep.merge( + subscription_dict, + { + "output_options": { + "migrated_download_archive_name": ".ytdl-sub-{tv_show_name_sanitized}-download-archive.json" + } + }, + ) + migrated_subscription = Subscription.from_dict( + config=config, + preset_name=subscription_name, + preset_dict=subscription_dict, + ) + transaction_log = migrated_subscription.download() + + assert_transaction_log_matches( + output_directory=output_directory, + transaction_log=transaction_log, + transaction_log_summary_file_name="youtube/test_playlist_archive_migrated.txt", + ) + assert_expected_downloads( + output_directory=output_directory, + dry_run=False, + expected_download_summary_file_name="youtube/test_playlist_archive_migrated.json", + ) + + # Ensure no changes after migration + transaction_log = migrated_subscription.download() + assert transaction_log.is_empty + assert_expected_downloads( + output_directory=output_directory, + dry_run=False, + expected_download_summary_file_name="youtube/test_playlist_archive_migrated.json", + ) + @pytest.mark.parametrize("dry_run", [True, False]) def test_playlist_download( self, @@ -87,16 +133,22 @@ class TestPlaylist: expected_message="ExistingVideoReached, stopping additional downloads", log_level="debug", ): - _ = playlist_subscription.download() + transaction_log = playlist_subscription.download() - # TODO: output_directory_nfo is always rewritten, fix! - # assert transaction_log.is_empty + assert transaction_log.is_empty assert_expected_downloads( output_directory=output_directory, dry_run=dry_run, expected_download_summary_file_name="youtube/test_playlist.json", ) + self._ensure_subscription_migrates( + config=music_video_config, + subscription_name="music_video_playlist_test", + subscription_dict=playlist_preset_dict, + output_directory=output_directory, + ) + @pytest.mark.parametrize("dry_run", [True, False]) def test_playlist_download_from_cli_sub( self, @@ -135,10 +187,9 @@ class TestPlaylist: expected_message="ExistingVideoReached, stopping additional downloads", log_level="debug", ): - _ = mock_run_from_cli(args=args)[0][1] + transaction_log = mock_run_from_cli(args=args)[0][1] - # TODO: output_directory_nfo is always rewritten, fix! - # assert transaction_log.is_empty + assert transaction_log.is_empty assert_expected_downloads( output_directory=output_directory, dry_run=dry_run, diff --git a/tests/e2e/youtube/test_video.py b/tests/e2e/youtube/test_video.py index 00f05144..f9fd9e33 100644 --- a/tests/e2e/youtube/test_video.py +++ b/tests/e2e/youtube/test_video.py @@ -23,12 +23,8 @@ def single_video_preset_dict_old_video_tags_format(output_directory): "output_directory": output_directory, "maintain_download_archive": False, }, - # embed thumb into the video - "embed_thumbnail": True, - # download the worst format so it is fast - "ytdl_options": { - "format": "worst[ext=mp4]", - }, + "embed_thumbnail": True, # embed thumb into the video + "format": "worst[ext=mp4]", # download the worst format so it is fast # also test video tags "video_tags": { "tags": { @@ -49,12 +45,8 @@ def single_video_preset_dict(output_directory): "output_directory": output_directory, "maintain_download_archive": False, }, - # embed thumb into the video - "embed_thumbnail": True, - # download the worst format so it is fast - "ytdl_options": { - "format": "worst[ext=mp4]", - }, + "embed_thumbnail": True, # embed thumb into the video + "format": "worst[ext=mp4]", # download the worst format so it is fast # also test video tags "video_tags": { "title": "{title}", @@ -76,8 +68,8 @@ def single_tv_show_video_nulled_values_preset_dict(output_directory): "thumbnail_name": "", "info_json_name": "", }, + "format": "worst[ext=mp4]", "ytdl_options": { - "format": "worst[ext=mp4]", "max_downloads": 2, }, # test override variables added by ytdl-sub diff --git a/tests/expected_download.py b/tests/expected_download.py index 1ffc38b2..7a9875c5 100644 --- a/tests/expected_download.py +++ b/tests/expected_download.py @@ -28,6 +28,12 @@ def _get_files_in_directory(relative_directory: Path | str) -> List[Path]: return relative_file_paths +def _get_file_md5_hash(full_file_path: str | Path) -> str: + if str(full_file_path).endswith(".info.json"): + return "INFO_JSON" + return get_file_md5_hash(full_file_path=full_file_path) + + @dataclass class ExpectedDownloadFile: path: Path @@ -79,9 +85,9 @@ class ExpectedDownloads: if IS_WINDOWS or path in ignore_md5_hashes_for or path.endswith(".info.json"): continue - md5_hash = get_file_md5_hash(full_file_path=full_path) + md5_hash = _get_file_md5_hash(full_file_path=full_path) assert md5_hash in expected_download.md5, ( - f"MD5 hash for {str(expected_download.path)} does not match: " + f"MD5 hash for {str(expected_download.path)} does not match: " f"{md5_hash} != {expected_download.md5}" ) @@ -103,7 +109,7 @@ class ExpectedDownloads: def from_directory(cls, directory_path: str | Path) -> "ExpectedDownloads": relative_file_paths = _get_files_in_directory(relative_directory=directory_path) expected_downloads_dict = { - str(file_path): get_file_md5_hash(full_file_path=Path(directory_path) / file_path) + str(file_path): _get_file_md5_hash(full_file_path=Path(directory_path) / file_path) for file_path in relative_file_paths } return cls.from_dict(expected_downloads_dict) diff --git a/tests/expected_transaction_log.py b/tests/expected_transaction_log.py index c0f3d848..d6b186a0 100644 --- a/tests/expected_transaction_log.py +++ b/tests/expected_transaction_log.py @@ -48,8 +48,6 @@ def assert_transaction_log_matches( # Split, ensure there are the same number of new lines summary_lines: List[str] = summary.split("\n") expected_summary_lines: List[str] = expected_summary.split("\n") - print(summary_lines) - print(expected_summary_lines) assert len(summary_lines) == len( expected_summary_lines ), f"Summary number of lines differ: {len(summary_lines) != len(expected_summary_lines)}" diff --git a/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json b/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json index cdd1dbe4..e53a7d33 100644 --- a/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json +++ b/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json @@ -1,7 +1,7 @@ { ".ytdl-sub-chapters_from_comments-download-archive.json": "122723ce8d257eebb05178daa26141f6", "JMC/JMC - Move 78 - Automated Improvisation [Full Album]-thumb.jpg": "c12e6a6f242680d1096a1a99d74a62c6", - "JMC/JMC - Move 78 - Automated Improvisation [Full Album].info.json": "31d3e187632cffa84879027c9c7ddb2f", - "JMC/JMC - Move 78 - Automated Improvisation [Full Album].mp4": "b82e8eb3f912a4ee2b14d90332fdce89", + "JMC/JMC - Move 78 - Automated Improvisation [Full Album].info.json": "INFO_JSON", + "JMC/JMC - Move 78 - Automated Improvisation [Full Album].mp4": "8f9842b656d0bd9107abde942f6b4b32", "JMC/JMC - Move 78 - Automated Improvisation [Full Album].nfo": "7a65b184d24c68fc0ec5380432250f5b" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_recent.json b/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_recent.json index 538c9bfa..1011fe65 100644 --- a/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_recent.json +++ b/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_recent.json @@ -1,11 +1,11 @@ { "Project ⧸ Zombie/.ytdl-sub-recent-download-archive.json": "ca7275efd7f2ebe489b8ca4007dc5361", "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer-thumb.jpg": "705ca4e0d99b37e9ecdf6bfe4b90c59b", - "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.info.json": "f249bd1137702b3db3d2805bbf4bfff8", + "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.mp4": "dbb140af8676f34fb701d5199e8708ea", "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.nfo": "ee5bee94667ed4f1d47af08384418d3c", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id-thumb.jpg": "28d852ede73b879b9ebf9a061cfc7d46", - "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "e143a26148069d0477dc45896afba93e", + "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.mp4": "a1b58a20411fff51ba06c1fc31cadf1f", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.nfo": "c2f06f9eb5b42c777808a35587e5941e", "Project ⧸ Zombie/fanart.jpg": "129c6639b47299bc48062f0365e670ee", diff --git a/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_rolling_recent.json b/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_rolling_recent.json index 4ba496de..49a2d086 100644 --- a/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_rolling_recent.json +++ b/tests/resources/expected_downloads_summaries/plugins/date_range/test_channel_rolling_recent.json @@ -1,7 +1,7 @@ { "Project ⧸ Zombie/.ytdl-sub-recent-download-archive.json": "46170edaf7cc51e5f59ef5d4c0476200", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id-thumb.jpg": "28d852ede73b879b9ebf9a061cfc7d46", - "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "e143a26148069d0477dc45896afba93e", + "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.mp4": "a1b58a20411fff51ba06c1fc31cadf1f", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.nfo": "c2f06f9eb5b42c777808a35587e5941e", "Project ⧸ Zombie/fanart.jpg": "129c6639b47299bc48062f0365e670ee", diff --git a/tests/resources/expected_downloads_summaries/plugins/file_convert/output.json b/tests/resources/expected_downloads_summaries/plugins/file_convert/output.json index f2c1d914..0c335817 100644 --- a/tests/resources/expected_downloads_summaries/plugins/file_convert/output.json +++ b/tests/resources/expected_downloads_summaries/plugins/file_convert/output.json @@ -1,7 +1,7 @@ { ".ytdl-sub-file_convert_test-download-archive.json": "65aa49c7345f9fc201e42ddc4a96b19b", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3-thumb.jpg": "662fcaadf6e80d63591bac19a5fdffb0", - "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json": "5201f78cc65d5bb26aeea114e11d6264", - "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mp4": "390177bcc076e309d1534b8bb5afdcc7", + "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json": "INFO_JSON", + "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mp4": "fa29d8b1482e37be643f1b4a127e5185", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.nfo": "cacf09ab38f9b3085da9c5af516cf22a" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/file_convert/output_custom_ffmpeg.json b/tests/resources/expected_downloads_summaries/plugins/file_convert/output_custom_ffmpeg.json index 606c0991..c511bd2a 100644 --- a/tests/resources/expected_downloads_summaries/plugins/file_convert/output_custom_ffmpeg.json +++ b/tests/resources/expected_downloads_summaries/plugins/file_convert/output_custom_ffmpeg.json @@ -1,7 +1,7 @@ { ".ytdl-sub-file_convert_test-download-archive.json": "74813dccf4e9732e49f5dc3c2d66f3be", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3-thumb.jpg": "662fcaadf6e80d63591bac19a5fdffb0", - "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json": "20cf671c3a613d4aae8f5bfbf14feba0", + "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json": "INFO_JSON", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mkv": "b5f248b560f89f3f2a83fcdcd197d486", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.nfo": "cacf09ab38f9b3085da9c5af516cf22a" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/match_filters/test_match_filters_partial.json b/tests/resources/expected_downloads_summaries/plugins/match_filters/test_match_filters_partial.json index 13e2fb82..cbac755a 100644 --- a/tests/resources/expected_downloads_summaries/plugins/match_filters/test_match_filters_partial.json +++ b/tests/resources/expected_downloads_summaries/plugins/match_filters/test_match_filters_partial.json @@ -1,7 +1,7 @@ { ".ytdl-sub-match_filter_test-download-archive.json": "6017105735dd8fdfe18932c9c048dccf", "Project Zombie/Project Zombie - Jesse's Minecraft Server [Trailer - Mar.21]-thumb.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", - "Project Zombie/Project Zombie - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "ea8e2d03835416861654e3cffed5e181", + "Project Zombie/Project Zombie - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "INFO_JSON", "Project Zombie/Project Zombie - Jesse's Minecraft Server [Trailer - Mar.21].nfo": "17c303f07e9b3af77c90975f843c95bd", "Project Zombie/Project Zombie - Jesse's Minecraft Server [Trailer - Mar.21].webm": "ad90ebef1ea6cbdb924670cdd7d1b9b9" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_video.json b/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_video.json index 7b3e68c1..b809d06f 100644 --- a/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_video.json +++ b/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_video.json @@ -1,15 +1,15 @@ { - ".ytdl-sub-split_by_chapters_video-download-archive.json": "c3fb0b4f31caaa10ac7954ea93da33c4", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/01 - 01. Intro (Feat. Racheal Ofori & Barney Artist).mp3": "8827ac62201abeb94f44a46d91628aa8", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/02 - 02. Answers (Feat. Rick David & Kaya Thomas - Dyke).mp3": "f17e02119bf073c4ed98da2a960b85d3", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/03 - 03. Blaze (Feat. Kaya Thomas - Dyke).mp3": "63c0bc97cbdaf35203011378b1860418", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/04 - 04. What If (Interlude).mp3": "eb1a8533390243a5c4c49d8b6871c0ce", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/05 - 05. No Peace (Feat. Tom Misch).mp3": "a1b54772207228bd4922ad93d249c9f5", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/06 - 06. Closer (Feat. Lester Duval).mp3": "1d217264368d5f078e67691ea1b3df97", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/07 - 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori).mp3": "4d1a1728dbd69a30bbc2ffa354851169", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/08 - 08. Dreams (Feat. Carmody).mp3": "c204cf16f9f44945634c6171a5192e99", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/09 - 09. Dreaming (Interlude) (Feat. Racheal Ofori).mp3": "795e22297f8db00697563774328ffb3a", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/10 - 10. Hopeful (Feat. Jordan Rakei).mp3": "3904a5cd81b5ac43850b7858fb8dd378", - "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/11 - 11. Sunrise (Pillows) (Feat. Emmavie).mp3": "a89549db5b16ff76d04fd0bbbfba3424", + ".ytdl-sub-split_by_chapters_video-download-archive.json": "a4337aeeaded1a1ef5d4c17d8e5ed71f", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/01 - 01. Intro (Feat. Racheal Ofori & Barney Artist.mp3": "73a98c0f110519e42a5ef6629fd5c84d", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/02 - 02. Answers (Feat. Rick David & Kaya Thomas - Dyke.mp3": "37b52830e5860546548c1f1c73433c9f", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/03 - 03. Blaze (Feat. Kaya Thomas - Dyke.mp3": "44859cc006906ad20da3b5cc966636a3", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/04 - 04. What If (Interlude.mp3": "1e81ccbb8ca22e2a9ff7b7dc0e2264fe", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/05 - 05. No Peace (Feat. Tom Misch.mp3": "959ce7ebe3e39680c36c9e4b0472e138", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/06 - 06. Closer (Feat. Lester Duval.mp3": "f812f8614d95dfa535e2049d6344e0a8", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/07 - 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori.mp3": "d704c2e5c4c26ca11007c62880aa2f6e", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/08 - 08. Dreams (Feat. Carmody.mp3": "94cd88bc220e77239ac02affd3e676f9", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/09 - 09. Dreaming (Interlude) (Feat. Racheal Ofori.mp3": "d379a7f5d14dcc9432447a1751a14179", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/10 - 10. Hopeful (Feat. Jordan Rakei.mp3": "bd63f123d442166784df208b09e9c6b7", + "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/11 - 11. Sunrise (Pillows) (Feat. Emmavie.mp3": "7b5725a2d452d0457179084ce5d1c34e", "Proved Records/[2017] Alfa Mist - Nocturne [Full Album]/folder.jpg": "bd3685acc53072e591bae2505ecb0648" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_with_regex_video.json b/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_with_regex_video.json index 3daa3ef8..b6485508 100644 --- a/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_with_regex_video.json +++ b/tests/resources/expected_downloads_summaries/plugins/split_by_chapters_with_regex_video.json @@ -1,15 +1,15 @@ { - ".ytdl-sub-split_by_chapters_with_regex_video-download-archive.json": "9798e8289742586d0efd295a97c6c906", - "Alfa Mist/[2017] Nocturne/01 - Intro (Feat. Racheal Ofori & Barney Artist).mp3": "c10cff170976c3c5139f6073eeb3e25e", - "Alfa Mist/[2017] Nocturne/02 - Answers (Feat. Rick David & Kaya Thomas - Dyke).mp3": "881ecdbee4a0d565c0ec6eacf03115df", - "Alfa Mist/[2017] Nocturne/03 - Blaze (Feat. Kaya Thomas - Dyke).mp3": "aa5c6fbab58dd2be2660bfb65be6a172", - "Alfa Mist/[2017] Nocturne/04 - What If (Interlude).mp3": "a64ce02ed1188276c9744f92cfc81e8e", - "Alfa Mist/[2017] Nocturne/05 - No Peace (Feat. Tom Misch).mp3": "a6dbe96141515caa32f3df4f66e46f75", - "Alfa Mist/[2017] Nocturne/06 - Closer (Feat. Lester Duval).mp3": "9b8ff5357109c376cce4bdd25e724d7b", - "Alfa Mist/[2017] Nocturne/07 - Delusions: Rumination (Interlude) (Feat. Racheal Ofori).mp3": "022b077892b838c478c65ba3b5f00b55", - "Alfa Mist/[2017] Nocturne/08 - Dreams (Feat. Carmody).mp3": "75c9c0f789c378c45bb176aa6cc6ec57", - "Alfa Mist/[2017] Nocturne/09 - Dreaming (Interlude) (Feat. Racheal Ofori).mp3": "af59a3ac869249ac6ef2586fa6c59009", - "Alfa Mist/[2017] Nocturne/10 - Hopeful (Feat. Jordan Rakei).mp3": "27d36f90dc87264c57e88f3663b29467", - "Alfa Mist/[2017] Nocturne/11 - Sunrise (Pillows) (Feat. Emmavie).mp3": "be7085f9a536dfd2f70ce001c65a416c", + ".ytdl-sub-split_by_chapters_with_regex_video-download-archive.json": "d13f803a92fe9630d5e6fa6f1baa46a9", + "Alfa Mist/[2017] Nocturne/01 - Intro (Feat. Racheal Ofori & Barney Artist.mp3": "98c381825f8e0358711c21d084bc3568", + "Alfa Mist/[2017] Nocturne/02 - Answers (Feat. Rick David & Kaya Thomas - Dyke.mp3": "8c971f3f0ef230797b033043b49a8888", + "Alfa Mist/[2017] Nocturne/03 - Blaze (Feat. Kaya Thomas - Dyke.mp3": "50e74885a2a19a11420dc8c27b96b7bd", + "Alfa Mist/[2017] Nocturne/04 - What If (Interlude.mp3": "d655ca75ba791731c6c49b022188bb79", + "Alfa Mist/[2017] Nocturne/05 - No Peace (Feat. Tom Misch.mp3": "14e8492c8784913a0acd3be9a496ad5d", + "Alfa Mist/[2017] Nocturne/06 - Closer (Feat. Lester Duval.mp3": "2371ae9951b04b436ac2994aed6684cb", + "Alfa Mist/[2017] Nocturne/07 - Delusions: Rumination (Interlude) (Feat. Racheal Ofori.mp3": "644754ff7bcf926b34109f5d263a21b7", + "Alfa Mist/[2017] Nocturne/08 - Dreams (Feat. Carmody.mp3": "d9d6a014e453e3c6ede1544f3ec1bb03", + "Alfa Mist/[2017] Nocturne/09 - Dreaming (Interlude) (Feat. Racheal Ofori.mp3": "ea833ef0f0af9c347d3f5920899b8b44", + "Alfa Mist/[2017] Nocturne/10 - Hopeful (Feat. Jordan Rakei.mp3": "714fae9edfc7844411984e664ced7285", + "Alfa Mist/[2017] Nocturne/11 - Sunrise (Pillows) (Feat. Emmavie.mp3": "871d94d7e402cc3a29e80a5150735873", "Alfa Mist/[2017] Nocturne/folder.jpg": "bd3685acc53072e591bae2505ecb0648" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/test_audio_extract_single_best.json b/tests/resources/expected_downloads_summaries/plugins/test_audio_extract_single_best.json new file mode 100644 index 00000000..5632536f --- /dev/null +++ b/tests/resources/expected_downloads_summaries/plugins/test_audio_extract_single_best.json @@ -0,0 +1,5 @@ +{ + ".ytdl-sub-single_song_best_test-download-archive.json": "f179ccfe0a9b3a76ae62122a3ccb58fd", + "YouTube/[2019] YouTube Rewind 2019: For the Record | #YouTubeRewind/01 - YouTube Rewind 2019: For the Record | #YouTubeRewind.m4a": "4b03133e9422a9ce196d271beb15ceef", + "YouTube/[2019] YouTube Rewind 2019: For the Record | #YouTubeRewind/folder.jpg": "50ee47c80f679029f5d3503bb91b045a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/test_chapters_sb_and_embedded_subs.json b/tests/resources/expected_downloads_summaries/plugins/test_chapters_sb_and_embedded_subs.json index 9a1949aa..c9748f05 100644 --- a/tests/resources/expected_downloads_summaries/plugins/test_chapters_sb_and_embedded_subs.json +++ b/tests/resources/expected_downloads_summaries/plugins/test_chapters_sb_and_embedded_subs.json @@ -1,7 +1,7 @@ { ".ytdl-sub-sponsorblock_with_embedded_subs_test-download-archive.json": "40abc64a8fe93a10406bff1548a2cbe2", "JMC/JMC - This GPU SLIDES into this Case! - Silverstone SUGO 16 ITX Case-thumb.jpg": "b5353a824a4800cc26f884e3025ed969", - "JMC/JMC - This GPU SLIDES into this Case! - Silverstone SUGO 16 ITX Case.info.json": "324f582f8a69d3844019e650b382773f", - "JMC/JMC - This GPU SLIDES into this Case! - Silverstone SUGO 16 ITX Case.mp4": "20a9ddbececcc2c75d6df06e88007b5c", + "JMC/JMC - This GPU SLIDES into this Case! - Silverstone SUGO 16 ITX Case.info.json": "INFO_JSON", + "JMC/JMC - This GPU SLIDES into this Case! - Silverstone SUGO 16 ITX Case.mp4": "2fc2083fe731c1d7e5305b79df31667a", "JMC/JMC - This GPU SLIDES into this Case! - Silverstone SUGO 16 ITX Case.nfo": "b9bd35e4f260c728774d8dd31f83637c" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded.json b/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded.json index abfcad07..0eee69ea 100644 --- a/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded.json +++ b/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded.json @@ -1,7 +1,7 @@ { ".ytdl-sub-subtitles_embedded_test-download-archive.json": "1aa35c1d2663ac721f33f8374c00af1a", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind-thumb.jpg": "50ee47c80f679029f5d3503bb91b045a", - "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.info.json": "7940facc211cb3e3956af3f2ad6f19fd", + "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.info.json": "INFO_JSON", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.mp4": "1f1f91f85b162c20596a2413e704b809", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.nfo": "c64964fab07574080e5da3242e3bfd48" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded_and_file.json b/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded_and_file.json index fd33b97f..641645e9 100644 --- a/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded_and_file.json +++ b/tests/resources/expected_downloads_summaries/plugins/test_subtitles_embedded_and_file.json @@ -3,7 +3,7 @@ "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind-thumb.jpg": "50ee47c80f679029f5d3503bb91b045a", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.de.srt": "b343c3bb9257b7ee7ba38f570a115b37", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.en.srt": "fe8c6ee92cae6e059fd80fd61691adbe", - "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.info.json": "a3f7906782db2be4aa43bdd1354e80bb", + "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.info.json": "INFO_JSON", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.mp4": "1f1f91f85b162c20596a2413e704b809", "JMC/JMC - YouTube Rewind 2019: For the Record | #YouTubeRewind.nfo": "c64964fab07574080e5da3242e3bfd48" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json index 25f45aba..e881a115 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json index d27004ac..f8637e3c 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json new file mode 100644 index 00000000..22098cea --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json @@ -0,0 +1,36 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json new file mode 100644 index 00000000..ebd8660b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json @@ -0,0 +1,20 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json index 06337329..8867db49 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json index 14e104a3..26e9f252 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json new file mode 100644 index 00000000..70a5ae6b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json @@ -0,0 +1,38 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json new file mode 100644 index 00000000..64ddd52c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json @@ -0,0 +1,22 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ 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_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 index 1d91c9bd..ccc78819 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "e30d83126c2c6981c936ed894a6f159b", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json index 904d771d..f0700ef2 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "126aec3c19ad3a56faceed442515faf5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.mp4": "a44c49a4adb03fc619ff10a37025c09d", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.nfo": "c4311723a97b1b299342aca9c079ffbc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.mp4": "ca2a1e878e543c73e5d95c983580ea66", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.nfo": "2d3b121869944eeef9919765b6d10ec3", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.mp4": "1ed7951cb4414e79f78f48176f9fc2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.nfo": "3b507ba7e4482c16ccd5b1a832c205eb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.mp4": "fdc41ef1aceab35f2f229962ec4bb66a", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.nfo": "27e19fdc5941b870320b68f189e2c2ec", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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 index c0e80ea9..bab58ddd 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "e30d83126c2c6981c936ed894a6f159b", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json index ffde50eb..3b2fef7e 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "126aec3c19ad3a56faceed442515faf5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.mp4": "a44c49a4adb03fc619ff10a37025c09d", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.nfo": "c4311723a97b1b299342aca9c079ffbc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.mp4": "ca2a1e878e543c73e5d95c983580ea66", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.nfo": "2d3b121869944eeef9919765b6d10ec3", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.mp4": "1ed7951cb4414e79f78f48176f9fc2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.nfo": "3b507ba7e4482c16ccd5b1a832c205eb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.mp4": "fdc41ef1aceab35f2f229962ec4bb66a", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.nfo": "27e19fdc5941b870320b68f189e2c2ec", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index b62515c8..076ce81a 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "05539b932348da7e949a63eb71f77efc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json index 80921182..9473a0b9 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "6baee42e9095883c0ed77e6b5829e2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.mp4": "0850f53dd2335ba57632128b9bb9d112", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.nfo": "4edc04aaea3799ef24bafe6afe4017e5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.mp4": "0dcd1a017948164d217f0bde59551655", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.nfo": "d7d3005d7a8b3feb7465e697cfb4cad4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.mp4": "6c4b98bd5e32fbffef033f268d8587ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.nfo": "1832889c5a8010c28914ef5c9845e14f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.mp4": "386aa9718db383c17aafc9a00d61d0f0", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.nfo": "75a73feabcd828d88768c453ab13718e", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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 index cbff4a38..f18ecdd6 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "05539b932348da7e949a63eb71f77efc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json index 4e30603b..01744068 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "6baee42e9095883c0ed77e6b5829e2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.mp4": "0850f53dd2335ba57632128b9bb9d112", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.nfo": "4edc04aaea3799ef24bafe6afe4017e5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.mp4": "0dcd1a017948164d217f0bde59551655", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.nfo": "d7d3005d7a8b3feb7465e697cfb4cad4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.mp4": "6c4b98bd5e32fbffef033f268d8587ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.nfo": "1832889c5a8010c28914ef5c9845e14f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.mp4": "386aa9718db383c17aafc9a00d61d0f0", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.nfo": "75a73feabcd828d88768c453ab13718e", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index e42787c7..d2829f4b 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5269b5e9e4fad7b63b6fdb3fef477b1e", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json index 0ece0c45..8ddf4ad9 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5c7b84a74e98bbbc6f5897742ba6dfec", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.mp4": "201f4f7a4cfb745b8befe75af83ef289", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.nfo": "2742789534cd28d2b2c498df19b01070", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.mp4": "3acc0b8ad17afdf9396a3f7600307899", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.nfo": "a6c28bd2c7dece677bdfe342e1691a34", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.mp4": "58fbeaa3e51e59ef3405464ab3bc46f1", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.nfo": "7a3a3d341795ab8b8f1faa5499ebe55c", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.mp4": "aa76dff1662eda9596791ca5076a8385", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.nfo": "0d38c0fe0b0bbbfd3fe78cb71e9b65f4", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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 index c66cb322..32cd5233 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5269b5e9e4fad7b63b6fdb3fef477b1e", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json index 9a3bf3a6..b45cfc03 100644 --- a/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5c7b84a74e98bbbc6f5897742ba6dfec", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.mp4": "201f4f7a4cfb745b8befe75af83ef289", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.nfo": "2742789534cd28d2b2c498df19b01070", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.mp4": "3acc0b8ad17afdf9396a3f7600307899", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.nfo": "a6c28bd2c7dece677bdfe342e1691a34", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.mp4": "58fbeaa3e51e59ef3405464ab3bc46f1", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.nfo": "7a3a3d341795ab8b8f1faa5499ebe55c", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.mp4": "aa76dff1662eda9596791ca5076a8385", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.nfo": "0d38c0fe0b0bbbfd3fe78cb71e9b65f4", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 201488ea..5a5a9803 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4e5ef7394c029e7fe230f82dfe134e4c", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.nfo": "2a3d9b51221a541fefc29eebffe47cd4", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.nfo": "ec57b2c78058e18cdc015813e8a14b9d", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.nfo": "cd919caf88b0eed99fd2a595c1afa6b1", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.nfo": "7c4b28456fe5d398b7dad966eb194421", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index b9bc0ef0..9a686831 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4e5ef7394c029e7fe230f82dfe134e4c", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.nfo": "2a3d9b51221a541fefc29eebffe47cd4", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.nfo": "ec57b2c78058e18cdc015813e8a14b9d", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.nfo": "cd919caf88b0eed99fd2a595c1afa6b1", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.nfo": "7c4b28456fe5d398b7dad966eb194421", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 474fa3cc..e7a85bb4 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "c7c2427315924db344d4659a60c59bc9", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "3abb120022201c52f187795e5382e7d8", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.nfo": "7d8f03bdcd8ee66fd1578a86f20365cc", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "65278e617ec6faae1fa5e1cc150b40bc", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.nfo": "39996f43e9761247dce614247f99c808", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "ae68c2c53268d732849149196e531935", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.nfo": "cae377877c966dad492eaa3f224b86ba", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.nfo": "974bb83bd43b9579ab1716f66589ccc1", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.nfo": "b12dcb09ffad7f23f21d350e1f60f128", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.nfo": "e6fd0fc3e95b77c595d1a77c2060fd98", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.nfo": "23386ea27c1e64afcecdb235acb81b79", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index 20b995d6..5b75e711 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "c7c2427315924db344d4659a60c59bc9", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "3abb120022201c52f187795e5382e7d8", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.nfo": "7d8f03bdcd8ee66fd1578a86f20365cc", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "65278e617ec6faae1fa5e1cc150b40bc", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.nfo": "39996f43e9761247dce614247f99c808", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "ae68c2c53268d732849149196e531935", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.nfo": "cae377877c966dad492eaa3f224b86ba", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.nfo": "974bb83bd43b9579ab1716f66589ccc1", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.nfo": "b12dcb09ffad7f23f21d350e1f60f128", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.nfo": "e6fd0fc3e95b77c595d1a77c2060fd98", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.nfo": "23386ea27c1e64afcecdb235acb81b79", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 2bb3afa5..15390dc5 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "809885e6c29bba06215b840516628090", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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_migrated.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_migrated.json new file mode 100644 index 00000000..a687e4c6 --- /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_migrated.json @@ -0,0 +1,21 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 79ada9c0..eac9c985 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "809885e6c29bba06215b840516628090", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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_migrated.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_migrated.json new file mode 100644 index 00000000..15ce6b1d --- /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_migrated.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 44bc8efd..d456cde7 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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_migrated.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_migrated.json new file mode 100644 index 00000000..9c551e76 --- /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_migrated.json @@ -0,0 +1,38 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 09b810fd..fddea04a 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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_migrated.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_migrated.json new file mode 100644 index 00000000..8019d792 --- /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_migrated.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index b5e89d16..274befd7 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ede1deeba072bae50f7f7039deca0543", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.nfo": "043c6de15ab09f32e64414d1f4a8a89c", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.nfo": "4fb018858502fe2c7a0d3dcb89145a8d", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.nfo": "6ac2ee3bd87b453d56bd90b42bbf52a0", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.nfo": "d54ba1888f0083f8de6f401e399ad379", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index 18df52ea..25399d93 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ede1deeba072bae50f7f7039deca0543", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.nfo": "043c6de15ab09f32e64414d1f4a8a89c", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.nfo": "4fb018858502fe2c7a0d3dcb89145a8d", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.nfo": "6ac2ee3bd87b453d56bd90b42bbf52a0", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.nfo": "d54ba1888f0083f8de6f401e399ad379", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 41295381..0be53572 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "9b9e26ff3d036f450501bf5adb979aeb", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "98da10d4278b3b4fbc3a52a57ce8faea", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.nfo": "9ceac835c0166bf4f7354106379e6d17", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "2d964ed943027358d440b2c6faf00f56", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.nfo": "35f15e5437cae813095fe2ca3bd2ca18", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "9a1a761fafc7213e30aedf7ba01e192e", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.nfo": "9aa69e4c86bb282ac57b2024ec2fbd34", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "2d09a282c18e12c7b435ec9b0fcd83ba", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.nfo": "709533b6b8f501196db0d98dfe2b2b16", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.nfo": "05f34cd0e6be4b09ea96134faec892f6", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.nfo": "54b4f84daf25626703f7b3a36b0dea49", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.nfo": "3d2644161e57b94cfac5e95732864cc3", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.nfo": "fd91adb2089d0fcdbb2e568a10ac880e", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index 20ac9c05..63ca21d3 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "9b9e26ff3d036f450501bf5adb979aeb", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "98da10d4278b3b4fbc3a52a57ce8faea", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.nfo": "9ceac835c0166bf4f7354106379e6d17", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "2d964ed943027358d440b2c6faf00f56", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.nfo": "35f15e5437cae813095fe2ca3bd2ca18", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "9a1a761fafc7213e30aedf7ba01e192e", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.nfo": "9aa69e4c86bb282ac57b2024ec2fbd34", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "2d09a282c18e12c7b435ec9b0fcd83ba", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.nfo": "709533b6b8f501196db0d98dfe2b2b16", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.nfo": "05f34cd0e6be4b09ea96134faec892f6", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.nfo": "54b4f84daf25626703f7b3a36b0dea49", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.nfo": "3d2644161e57b94cfac5e95732864cc3", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.nfo": "fd91adb2089d0fcdbb2e568a10ac880e", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index fc39e99c..750b18c8 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "e26598ffd47b150e6bf09e5490546e94", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.nfo": "a7e21040a3fcb264f287e4eba1853f94", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.nfo": "78c08ad76d004a74cdba012f0b746c22", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.nfo": "d9031d8608d12742c40a3279138c8371", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.nfo": "74bd8dc59c5b76ae112d90638977c464", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index b6a15609..2ed467a4 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "e26598ffd47b150e6bf09e5490546e94", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.nfo": "a7e21040a3fcb264f287e4eba1853f94", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.nfo": "78c08ad76d004a74cdba012f0b746c22", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.nfo": "d9031d8608d12742c40a3279138c8371", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.nfo": "74bd8dc59c5b76ae112d90638977c464", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 91b9ac43..e4c9ba75 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "2990d95213df5a6c87825a28daa970f4", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "5f700d73364bb0c1ccfa34987abf5b4a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.nfo": "0242d92e5e0d26745948b42c25eecfba", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "938c64fafcc01d68811729cc6277364b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.nfo": "52b17bcad30adb6eaef4c3b21c1af76b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "7e62cec1dd4ab9d6dc429684b12bd8a6", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.nfo": "31fb72d089fd680fea1340f3d3c41d64", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "75df3f9f617361c65178484d87625789", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.nfo": "df65227ee260219883ff618c9fbdf1d4", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.nfo": "0e4ea058d6a1e8760c80d3a02d25aafc", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.nfo": "1095322364e512dff963a44b2beffe30", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.nfo": "5130c71d99f1c0726fee8cb8c9d82ba7", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.nfo": "bde2a5401c49b58de0eacea4145d91ae", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index c29ae1ad..8965eb42 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "2990d95213df5a6c87825a28daa970f4", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "5f700d73364bb0c1ccfa34987abf5b4a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.nfo": "0242d92e5e0d26745948b42c25eecfba", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "938c64fafcc01d68811729cc6277364b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.nfo": "52b17bcad30adb6eaef4c3b21c1af76b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "7e62cec1dd4ab9d6dc429684b12bd8a6", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.nfo": "31fb72d089fd680fea1340f3d3c41d64", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "75df3f9f617361c65178484d87625789", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.nfo": "df65227ee260219883ff618c9fbdf1d4", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.nfo": "0e4ea058d6a1e8760c80d3a02d25aafc", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.nfo": "1095322364e512dff963a44b2beffe30", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.nfo": "5130c71d99f1c0726fee8cb8c9d82ba7", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.nfo": "bde2a5401c49b58de0eacea4145d91ae", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json index 25f45aba..e881a115 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json index d27004ac..f8637e3c 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json new file mode 100644 index 00000000..22098cea --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json @@ -0,0 +1,36 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json new file mode 100644 index 00000000..ebd8660b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json @@ -0,0 +1,20 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json index 06337329..8867db49 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json index 14e104a3..26e9f252 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json new file mode 100644 index 00000000..70a5ae6b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json @@ -0,0 +1,38 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "2bf8edeaf8b5658c4a42a9faa9bb2f60", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.nfo": "c1f5925e1eab8bd21e077df560879d94", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.nfo": "9fdbaa70187252b0d303d128123c4e83", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.nfo": "5e5815bbc8b471df94d8536b117409f4", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.nfo": "a86c62cd14e6a42dd79639a6155165fe", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json new file mode 100644 index 00000000..64ddd52c --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json @@ -0,0 +1,22 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "456d8882fc5e35d74f19b386d1d9a059", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.nfo": "dbe61f2c8ae41041773f713ba5376726", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.nfo": "0f071078c9fa2569bbcb998664d40681", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.nfo": "837a61dca11bbe1874ea07cb8ef8a7c9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.nfo": "8ee3845c514a411425b7e9198666b61c", + "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" +} \ 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 index 1d91c9bd..ccc78819 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "e30d83126c2c6981c936ed894a6f159b", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json index 904d771d..f0700ef2 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "126aec3c19ad3a56faceed442515faf5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.mp4": "a44c49a4adb03fc619ff10a37025c09d", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.nfo": "c4311723a97b1b299342aca9c079ffbc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.mp4": "ca2a1e878e543c73e5d95c983580ea66", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.nfo": "2d3b121869944eeef9919765b6d10ec3", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.mp4": "1ed7951cb4414e79f78f48176f9fc2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.nfo": "3b507ba7e4482c16ccd5b1a832c205eb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.mp4": "fdc41ef1aceab35f2f229962ec4bb66a", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.nfo": "27e19fdc5941b870320b68f189e2c2ec", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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 index c0e80ea9..bab58ddd 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "e30d83126c2c6981c936ed894a6f159b", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json index ffde50eb..3b2fef7e 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "126aec3c19ad3a56faceed442515faf5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.mp4": "a44c49a4adb03fc619ff10a37025c09d", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.nfo": "c4311723a97b1b299342aca9c079ffbc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.mp4": "ca2a1e878e543c73e5d95c983580ea66", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.nfo": "2d3b121869944eeef9919765b6d10ec3", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.mp4": "1ed7951cb4414e79f78f48176f9fc2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.nfo": "3b507ba7e4482c16ccd5b1a832c205eb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.mp4": "fdc41ef1aceab35f2f229962ec4bb66a", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.nfo": "27e19fdc5941b870320b68f189e2c2ec", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.nfo": "7c0f2a9d38bf617377e474fcb9bf2bc2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.nfo": "1f4dec756555ee345cd9d6489b63e070", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.nfo": "f6f704ae3ae0c4055590a147eb425609", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.nfo": "c6e0d368bfe9d70134e5a2ff2d3dccc6", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index b62515c8..076ce81a 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "05539b932348da7e949a63eb71f77efc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json index 80921182..9473a0b9 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "6baee42e9095883c0ed77e6b5829e2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.mp4": "0850f53dd2335ba57632128b9bb9d112", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.nfo": "4edc04aaea3799ef24bafe6afe4017e5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.mp4": "0dcd1a017948164d217f0bde59551655", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.nfo": "d7d3005d7a8b3feb7465e697cfb4cad4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.mp4": "6c4b98bd5e32fbffef033f268d8587ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.nfo": "1832889c5a8010c28914ef5c9845e14f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.mp4": "386aa9718db383c17aafc9a00d61d0f0", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.nfo": "75a73feabcd828d88768c453ab13718e", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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 index cbff4a38..f18ecdd6 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "05539b932348da7e949a63eb71f77efc", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json index 4e30603b..01744068 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "6baee42e9095883c0ed77e6b5829e2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.nfo": "88fee5353ad7eecd96865b34654bbde6", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.nfo": "d781b80ef24916acbf3bf181ab32ddea", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.nfo": "252b3639b4d1686f8c79476943f89439", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.mp4": "0850f53dd2335ba57632128b9bb9d112", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.nfo": "4edc04aaea3799ef24bafe6afe4017e5", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.mp4": "0dcd1a017948164d217f0bde59551655", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.nfo": "d7d3005d7a8b3feb7465e697cfb4cad4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.mp4": "6c4b98bd5e32fbffef033f268d8587ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.nfo": "1832889c5a8010c28914ef5c9845e14f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.mp4": "386aa9718db383c17aafc9a00d61d0f0", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.nfo": "75a73feabcd828d88768c453ab13718e", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.nfo": "e7374b766d9ec0599ecf209a0f78c0ba", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index e42787c7..d2829f4b 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5269b5e9e4fad7b63b6fdb3fef477b1e", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json index 0ece0c45..8ddf4ad9 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5c7b84a74e98bbbc6f5897742ba6dfec", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.mp4": "201f4f7a4cfb745b8befe75af83ef289", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.nfo": "2742789534cd28d2b2c498df19b01070", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.mp4": "3acc0b8ad17afdf9396a3f7600307899", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.nfo": "a6c28bd2c7dece677bdfe342e1691a34", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.mp4": "58fbeaa3e51e59ef3405464ab3bc46f1", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.nfo": "7a3a3d341795ab8b8f1faa5499ebe55c", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.mp4": "aa76dff1662eda9596791ca5076a8385", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.nfo": "0d38c0fe0b0bbbfd3fe78cb71e9b65f4", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/tvshow.nfo": "2439ebc18e46a67064956cb940c992e9" 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 index c66cb322..32cd5233 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5269b5e9e4fad7b63b6fdb3fef477b1e", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json index 9a3bf3a6..b45cfc03 100644 --- a/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "5c7b84a74e98bbbc6f5897742ba6dfec", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.mp4": "201f4f7a4cfb745b8befe75af83ef289", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.nfo": "2742789534cd28d2b2c498df19b01070", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.mp4": "3acc0b8ad17afdf9396a3f7600307899", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.nfo": "a6c28bd2c7dece677bdfe342e1691a34", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.mp4": "58fbeaa3e51e59ef3405464ab3bc46f1", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.nfo": "7a3a3d341795ab8b8f1faa5499ebe55c", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.mp4": "aa76dff1662eda9596791ca5076a8385", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.nfo": "0d38c0fe0b0bbbfd3fe78cb71e9b65f4", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.nfo": "4ba0e01c1e7295952c3f5e6b9b251d7d", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.nfo": "db9196b729c7b2cd26e3f0fc649b39f0", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.nfo": "ba4a387d9462f416ba176c31c1c55316", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.nfo": "93dd5c4c493422f9a60e61a6b965b39a", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 201488ea..5a5a9803 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4e5ef7394c029e7fe230f82dfe134e4c", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.nfo": "2a3d9b51221a541fefc29eebffe47cd4", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.nfo": "ec57b2c78058e18cdc015813e8a14b9d", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.nfo": "cd919caf88b0eed99fd2a595c1afa6b1", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.nfo": "7c4b28456fe5d398b7dad966eb194421", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index b9bc0ef0..9a686831 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4e5ef7394c029e7fe230f82dfe134e4c", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.nfo": "2a3d9b51221a541fefc29eebffe47cd4", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.nfo": "ec57b2c78058e18cdc015813e8a14b9d", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.nfo": "cd919caf88b0eed99fd2a595c1afa6b1", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.nfo": "7c4b28456fe5d398b7dad966eb194421", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 474fa3cc..e7a85bb4 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "c7c2427315924db344d4659a60c59bc9", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "3abb120022201c52f187795e5382e7d8", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.nfo": "7d8f03bdcd8ee66fd1578a86f20365cc", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "65278e617ec6faae1fa5e1cc150b40bc", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.nfo": "39996f43e9761247dce614247f99c808", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "ae68c2c53268d732849149196e531935", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.nfo": "cae377877c966dad492eaa3f224b86ba", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.nfo": "974bb83bd43b9579ab1716f66589ccc1", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.nfo": "b12dcb09ffad7f23f21d350e1f60f128", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.nfo": "e6fd0fc3e95b77c595d1a77c2060fd98", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.nfo": "23386ea27c1e64afcecdb235acb81b79", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index 20b995d6..5b75e711 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "c7c2427315924db344d4659a60c59bc9", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "3abb120022201c52f187795e5382e7d8", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.nfo": "7d8f03bdcd8ee66fd1578a86f20365cc", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "65278e617ec6faae1fa5e1cc150b40bc", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.nfo": "39996f43e9761247dce614247f99c808", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "ae68c2c53268d732849149196e531935", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.nfo": "cae377877c966dad492eaa3f224b86ba", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.nfo": "974bb83bd43b9579ab1716f66589ccc1", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.nfo": "b12dcb09ffad7f23f21d350e1f60f128", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.nfo": "e6fd0fc3e95b77c595d1a77c2060fd98", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.nfo": "23386ea27c1e64afcecdb235acb81b79", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 2bb3afa5..15390dc5 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "809885e6c29bba06215b840516628090", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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_migrated.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_migrated.json new file mode 100644 index 00000000..a687e4c6 --- /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_migrated.json @@ -0,0 +1,21 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 79ada9c0..eac9c985 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "809885e6c29bba06215b840516628090", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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_migrated.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_migrated.json new file mode 100644 index 00000000..15ce6b1d --- /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_migrated.json @@ -0,0 +1,23 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "809885e6c29bba06215b840516628090", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.nfo": "ddf2763f976aaa79199bddbfd3b66501", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.nfo": "cda58b9d5b7ee05d5e4d5144ebfe0f94", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.nfo": "4d5775492f2731cb5dc04a84ebcb029d", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.nfo": "2980b224863465a8b8a465c9d381d1f4", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "a3f1061135b7aa0c25e5176a271d32f0" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 44bc8efd..d456cde7 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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_migrated.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_migrated.json new file mode 100644 index 00000000..9c551e76 --- /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_migrated.json @@ -0,0 +1,38 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 09b810fd..fddea04a 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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_migrated.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_migrated.json new file mode 100644 index 00000000..8019d792 --- /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_migrated.json @@ -0,0 +1,40 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "7331c3a7cc0b43cd547b82af4ec35a3f", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.nfo": "42ad110e3f608de3edb94735631d39a7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.nfo": "ea4dee97b5bb9e49cb72f0942f851feb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.nfo": "7f71bd60012d850ece38fa644eeddc5e", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.nfo": "c487f013b8d5adc399a793bc803b898f", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.nfo": "4eedc1c0e99858530e6228001d024766", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.nfo": "cc1541a65508fcbfd9f024042cb6b6ce", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.nfo": "d5fa573faf1d29c367117917417df62c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.nfo": "6c40cd5d13c8d088e57906e809a591f8", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a", + "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/season02-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/tvshow.nfo": "61943a17325c5188475651ca7c68446d" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index b5e89d16..274befd7 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ede1deeba072bae50f7f7039deca0543", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.nfo": "043c6de15ab09f32e64414d1f4a8a89c", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.nfo": "4fb018858502fe2c7a0d3dcb89145a8d", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.nfo": "6ac2ee3bd87b453d56bd90b42bbf52a0", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.nfo": "d54ba1888f0083f8de6f401e399ad379", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index 18df52ea..25399d93 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ede1deeba072bae50f7f7039deca0543", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.nfo": "043c6de15ab09f32e64414d1f4a8a89c", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.nfo": "4fb018858502fe2c7a0d3dcb89145a8d", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.nfo": "6ac2ee3bd87b453d56bd90b42bbf52a0", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.nfo": "d54ba1888f0083f8de6f401e399ad379", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 41295381..0be53572 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "9b9e26ff3d036f450501bf5adb979aeb", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "98da10d4278b3b4fbc3a52a57ce8faea", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.nfo": "9ceac835c0166bf4f7354106379e6d17", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "2d964ed943027358d440b2c6faf00f56", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.nfo": "35f15e5437cae813095fe2ca3bd2ca18", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "9a1a761fafc7213e30aedf7ba01e192e", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.nfo": "9aa69e4c86bb282ac57b2024ec2fbd34", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "2d09a282c18e12c7b435ec9b0fcd83ba", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.nfo": "709533b6b8f501196db0d98dfe2b2b16", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.nfo": "05f34cd0e6be4b09ea96134faec892f6", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.nfo": "54b4f84daf25626703f7b3a36b0dea49", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.nfo": "3d2644161e57b94cfac5e95732864cc3", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.nfo": "fd91adb2089d0fcdbb2e568a10ac880e", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index 20ac9c05..63ca21d3 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "9b9e26ff3d036f450501bf5adb979aeb", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "98da10d4278b3b4fbc3a52a57ce8faea", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.nfo": "9ceac835c0166bf4f7354106379e6d17", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "2d964ed943027358d440b2c6faf00f56", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.nfo": "35f15e5437cae813095fe2ca3bd2ca18", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "9a1a761fafc7213e30aedf7ba01e192e", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.nfo": "9aa69e4c86bb282ac57b2024ec2fbd34", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "2d09a282c18e12c7b435ec9b0fcd83ba", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.nfo": "709533b6b8f501196db0d98dfe2b2b16", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.nfo": "05f34cd0e6be4b09ea96134faec892f6", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.nfo": "54b4f84daf25626703f7b3a36b0dea49", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.nfo": "3d2644161e57b94cfac5e95732864cc3", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.nfo": "fd91adb2089d0fcdbb2e568a10ac880e", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index fc39e99c..750b18c8 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "e26598ffd47b150e6bf09e5490546e94", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.nfo": "a7e21040a3fcb264f287e4eba1853f94", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.nfo": "78c08ad76d004a74cdba012f0b746c22", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.nfo": "d9031d8608d12742c40a3279138c8371", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.nfo": "74bd8dc59c5b76ae112d90638977c464", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index b6a15609..2ed467a4 100644 --- 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 @@ -1,19 +1,19 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "e26598ffd47b150e6bf09e5490546e94", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.nfo": "a7e21040a3fcb264f287e4eba1853f94", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.nfo": "78c08ad76d004a74cdba012f0b746c22", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.nfo": "d9031d8608d12742c40a3279138c8371", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.nfo": "74bd8dc59c5b76ae112d90638977c464", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", 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 index 91b9ac43..e4c9ba75 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "2990d95213df5a6c87825a28daa970f4", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "5f700d73364bb0c1ccfa34987abf5b4a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.nfo": "0242d92e5e0d26745948b42c25eecfba", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "938c64fafcc01d68811729cc6277364b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.nfo": "52b17bcad30adb6eaef4c3b21c1af76b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "7e62cec1dd4ab9d6dc429684b12bd8a6", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.nfo": "31fb72d089fd680fea1340f3d3c41d64", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "75df3f9f617361c65178484d87625789", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.nfo": "df65227ee260219883ff618c9fbdf1d4", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.nfo": "0e4ea058d6a1e8760c80d3a02d25aafc", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.nfo": "1095322364e512dff963a44b2beffe30", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.nfo": "5130c71d99f1c0726fee8cb8c9d82ba7", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.nfo": "bde2a5401c49b58de0eacea4145d91ae", "Best Prebuilt TV Show Collection/season01-poster.jpg": "e80c508c4818454300133fe1dc1a9cd7", 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 index c29ae1ad..8965eb42 100644 --- 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 @@ -1,35 +1,35 @@ { "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "2990d95213df5a6c87825a28daa970f4", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "5f700d73364bb0c1ccfa34987abf5b4a", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.nfo": "0242d92e5e0d26745948b42c25eecfba", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "938c64fafcc01d68811729cc6277364b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.nfo": "52b17bcad30adb6eaef4c3b21c1af76b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "7e62cec1dd4ab9d6dc429684b12bd8a6", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.nfo": "31fb72d089fd680fea1340f3d3c41d64", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "75df3f9f617361c65178484d87625789", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.nfo": "df65227ee260219883ff618c9fbdf1d4", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.nfo": "0e4ea058d6a1e8760c80d3a02d25aafc", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.nfo": "1095322364e512dff963a44b2beffe30", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.nfo": "5130c71d99f1c0726fee8cb8c9d82ba7", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.nfo": "bde2a5401c49b58de0eacea4145d91ae", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json index f379e845..70c94ce5 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0.json @@ -1,15 +1,15 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "0011c85c3339ac1301d80be2f3330e67", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json index b1c380b6..158cd451 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls.json @@ -1,27 +1,27 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "17d1886cf9a511f80a288f9eb19eb20e", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json new file mode 100644 index 00000000..0353bbd9 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_migrated.json @@ -0,0 +1,27 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "17d1886cf9a511f80a288f9eb19eb20e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json new file mode 100644 index 00000000..8f6d5a5b --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_migrated.json @@ -0,0 +1,15 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "0011c85c3339ac1301d80be2f3330e67", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json index 0f75047c..c7334f69 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1.json @@ -1,16 +1,16 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "0011c85c3339ac1301d80be2f3330e67", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json index 02132897..5c4f79d1 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls.json @@ -1,28 +1,28 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "17d1886cf9a511f80a288f9eb19eb20e", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json new file mode 100644 index 00000000..a350b05d --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_migrated.json @@ -0,0 +1,29 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "17d1886cf9a511f80a288f9eb19eb20e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000005 - Mock Entry 20-7.mp4": "e8b77ffd826f8f7233b875e311adaf34", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000006 - Mock Entry 20-6.mp4": "4343e692b53f0abce80559b59ef2fa0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000007 - Mock Entry 20-5.mp4": "dea5d69ae35e47aa78a51f464088a6ad", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000008 - Mock Entry 20-4.mp4": "b2f03dcefe44b8afc65b2500c873aec2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show by Date/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_download_index/is_yt_1_migrated.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json new file mode 100644 index 00000000..7bd64da3 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_migrated.json @@ -0,0 +1,17 @@ +{ + "Best Prebuilt TV Show by Date/.ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json": "0011c85c3339ac1301d80be2f3330e67", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000001 - Mock Entry 20-3.mp4": "5f221fdf07f200a297427b5df953d96f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000002 - Mock Entry 20-2.mp4": "240eb2e4df1abb10290f957d75f2522c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e000003 - Mock Entry 20-1.mp4": "0c58e78e7727c893226b9fcbe39b1791", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e000004 - Mock Entry 21-1.mp4": "8b75d7f6f6f84cccf1867a91d15044a6", + "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show by Date/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/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 index bc60e393..89ed0889 100644 --- 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 @@ -1,15 +1,15 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "6cd67e6b935bc5b2521f6ed0fa2ea2ed", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed" } \ 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json index bd7b234c..62503fbc 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls.json @@ -1,27 +1,27 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "d34c5dd61cc79d80d1da5ccbba196fcf", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.mp4": "a44c49a4adb03fc619ff10a37025c09d", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.mp4": "ca2a1e878e543c73e5d95c983580ea66", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.mp4": "1ed7951cb4414e79f78f48176f9fc2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.mp4": "fdc41ef1aceab35f2f229962ec4bb66a", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed" } \ 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 index 27fd1313..9921f77f 100644 --- 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 @@ -1,16 +1,16 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "6cd67e6b935bc5b2521f6ed0fa2ea2ed", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json index a9dc357a..b2654d41 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls.json @@ -1,28 +1,28 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "d34c5dd61cc79d80d1da5ccbba196fcf", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e060601 - Mock Entry 20-7.mp4": "a44c49a4adb03fc619ff10a37025c09d", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070601 - Mock Entry 20-6.mp4": "ca2a1e878e543c73e5d95c983580ea66", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e070602 - Mock Entry 20-5.mp4": "1ed7951cb4414e79f78f48176f9fc2c2", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080601 - Mock Entry 20-4.mp4": "fdc41ef1aceab35f2f229962ec4bb66a", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080701 - Mock Entry 20-3.mp4": "72205b53c6e2d477372e3d5bb3d35fff", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080801 - Mock Entry 20-2.mp4": "bc7ffede56ed138f592d76a3a02681ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e080802 - Mock Entry 20-1.mp4": "4825194cd6a037b79997cfb2d08ed444", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e080801 - Mock Entry 21-1.mp4": "efd9d3b1f941386c031e5899aa3042ed", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index d4c441ba..88d0089a 100644 --- 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 @@ -1,15 +1,15 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "67e328c022b6600c1741819c30ec9dc4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd" } \ 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json index 62bbea9c..94195602 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls.json @@ -1,27 +1,27 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "9487ba099facca8a1dc26e436ab4843c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.mp4": "0850f53dd2335ba57632128b9bb9d112", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.mp4": "0dcd1a017948164d217f0bde59551655", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.mp4": "6c4b98bd5e32fbffef033f268d8587ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.mp4": "386aa9718db383c17aafc9a00d61d0f0", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd" } \ 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 index 7ddd59be..939686ac 100644 --- 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 @@ -1,16 +1,16 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "67e328c022b6600c1741819c30ec9dc4", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json index a11e6a7e..da61a255 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls.json @@ -1,28 +1,28 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "9487ba099facca8a1dc26e436ab4843c", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14698 - Mock Entry 20-1.mp4": "5eafeb7a1c616dfe02c28fc902ce00fb", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14699 - Mock Entry 20-2.mp4": "e4a7144efa7039a03ae69460361ae518", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14799 - Mock Entry 20-3.mp4": "7566491129c54183e337e83455ab5bda", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e14899 - Mock Entry 20-4.mp4": "0850f53dd2335ba57632128b9bb9d112", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17998 - Mock Entry 20-5.mp4": "0dcd1a017948164d217f0bde59551655", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e17999 - Mock Entry 20-6.mp4": "6c4b98bd5e32fbffef033f268d8587ae", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2020/s2020.e20999 - Mock Entry 20-7.mp4": "386aa9718db383c17aafc9a00d61d0f0", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 2021/s2021.e14699 - Mock Entry 21-1.mp4": "e94af7eed1fe7d2512d042979ca878dd", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index 28eac6bc..10d2aa3f 100644 --- 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 @@ -1,15 +1,15 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "0091219325d5ad7dff2e2b007e943ab9", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "44a703e77c8285e81fec57ed9000bb0c", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "3fe91099a510c9dc820a0a7adba98868", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "e780d5e9e678d4aae5b131a5f3603695", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "4a4d542da434d5b3ff8d304f0e077469", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437" } \ 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_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json index d7bc4f13..82c9c5a3 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls.json @@ -1,27 +1,27 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "e5c57d3e45916ef9a11916150a418070", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "629fb263cff2e93b7ec67769ebbc75e0", + "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.mp4": "201f4f7a4cfb745b8befe75af83ef289", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "0a3998c019cc33845be703ca1bb448f9", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.mp4": "3acc0b8ad17afdf9396a3f7600307899", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "e891c1960d5c29b5e1e73c98ecf2e7f6", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.mp4": "58fbeaa3e51e59ef3405464ab3bc46f1", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "fe18c65b99ca8942e65d777c9a498577", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.mp4": "aa76dff1662eda9596791ca5076a8385", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "3caee440547dd4ed46ec3cdca46978f2", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "0b180b38ac673e7e320e9e615974fe41", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "5b26edd07c0534d53884d6a42908f8db", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "aeeb1be477400f34485799112a8121c2", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437" } \ 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 index 4cbd67b6..e72355ce 100644 --- 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 @@ -1,16 +1,16 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "0091219325d5ad7dff2e2b007e943ab9", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "bebd3dafb168c976a8c817e83a550ce2", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "7543d21dcf2bd220a9ce4cd15f1e1578", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "921a343cf11be7cc492678459dbdd926", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "5757f06de01c68c5104ec7a7b0c6a69b", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" diff --git a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json index cc350da7..a52b61ff 100644 --- a/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json +++ b/tests/resources/expected_downloads_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls.json @@ -1,28 +1,28 @@ { "Best Prebuilt TV Show by Date/.ytdl-sub-subscription_test-download-archive.json": "e5c57d3e45916ef9a11916150a418070", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "04c2a406e17fb509e849c3d5ccac8b5e", + "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202006/s202006.e0601 - Mock Entry 20-7.mp4": "201f4f7a4cfb745b8befe75af83ef289", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "b5960c859c450da1c40fe68951499a8f", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0601 - Mock Entry 20-6.mp4": "3acc0b8ad17afdf9396a3f7600307899", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "1892550ced3033c5b779324e39ef77ac", + "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202007/s202007.e0602 - Mock Entry 20-5.mp4": "58fbeaa3e51e59ef3405464ab3bc46f1", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "03254329cabbac6a887801d1a3a4a9fc", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0601 - Mock Entry 20-4.mp4": "aa76dff1662eda9596791ca5076a8385", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "3a613f0724932930ab746bcf9f8bdf42", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0701 - Mock Entry 20-3.mp4": "776af67f6507b05700ff573ef9560aba", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "a702f2b8e66c348ceb3ec1fd65956024", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0801 - Mock Entry 20-2.mp4": "d83e7a55c37f8a5f3d18c4578bfc65af", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "455e6a6bce2b8630d1a53e11c5554362", + "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202008/s202008.e0802 - Mock Entry 20-1.mp4": "c1e00927a15da4afa48cdcb514610156", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "09b731b1e404368cf7ce3fe8197e1de9", + "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show by Date/Season 202108/s202108.e0801 - Mock Entry 21-1.mp4": "e1955b69689826e841c9b034209b7437", "Best Prebuilt TV Show by Date/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show by Date/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index cac9aeff..e2be2ae9 100644 --- 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 @@ -2,15 +2,15 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4b6e65b4614cbabb1148807439e3899a", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4" } \ 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 index fe49bf20..d3d5afc4 100644 --- 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 @@ -2,16 +2,16 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "4b6e65b4614cbabb1148807439e3899a", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index 73a0b5b9..f3757d66 100644 --- 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 @@ -2,28 +2,28 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "b1895370af1c9b8777354cdd809f2d4d", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "3abb120022201c52f187795e5382e7d8", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "65278e617ec6faae1fa5e1cc150b40bc", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "ae68c2c53268d732849149196e531935", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4" } \ 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 index f1de3c09..a34722e9 100644 --- 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 @@ -2,29 +2,29 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "b1895370af1c9b8777354cdd809f2d4d", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-4.mp4": "3abb120022201c52f187795e5382e7d8", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-6.mp4": "65278e617ec6faae1fa5e1cc150b40bc", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000005 - Mock Entry 20-7.mp4": "ae68c2c53268d732849149196e531935", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 21-1.mp4": "838968aa64d56f99166bc2867879da0d", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-1.mp4": "1109271e45e1c7ce0652b4e8e567d6bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-2.mp4": "57644342b3e0f8697328fff415fd9bd6", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 20-3.mp4": "bae6a68cab905f3d67fe95de2c0b11b4", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index 954590e9..53ef7701 100644 --- 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 @@ -2,15 +2,15 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ba324b2c6532fe9d8fbe03e0dd6d0410", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2" } \ 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_migrated.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_migrated.json new file mode 100644 index 00000000..7e263c10 --- /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_migrated.json @@ -0,0 +1,16 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "ba324b2c6532fe9d8fbe03e0dd6d0410", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2" +} \ 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 index 13f1f357..86e7a040 100644 --- 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 @@ -2,16 +2,16 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ba324b2c6532fe9d8fbe03e0dd6d0410", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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_migrated.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_migrated.json new file mode 100644 index 00000000..6e01c4b9 --- /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_migrated.json @@ -0,0 +1,18 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "ba324b2c6532fe9d8fbe03e0dd6d0410", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index 6efd1e9e..28e27f61 100644 --- 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 @@ -2,28 +2,28 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "6ec6913047c175cedcbd41cb3ef402fc", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2" } \ 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_migrated.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_migrated.json new file mode 100644 index 00000000..6b8818e5 --- /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_migrated.json @@ -0,0 +1,29 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "6ec6913047c175cedcbd41cb3ef402fc", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", + "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2" +} \ 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 index 0457d24c..32fc2dfd 100644 --- 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 @@ -2,29 +2,29 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "6ec6913047c175cedcbd41cb3ef402fc", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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_migrated.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_migrated.json new file mode 100644 index 00000000..de44234a --- /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_migrated.json @@ -0,0 +1,31 @@ +{ + "Best Prebuilt TV Show Collection/.ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json": "6ec6913047c175cedcbd41cb3ef402fc", + "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000001 - Mock Entry 20-7.mp4": "6ba89f1f4436cc71bbe572bcf5a4c077", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000002 - Mock Entry 20-6.mp4": "86158254bbe1cd4de61f2f03d63c4afc", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000003 - Mock Entry 20-5.mp4": "f955993d7c3bd19a3f1974f9ca8fa8d5", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 01/s01.e000004 - Mock Entry 20-4.mp4": "68380cbe2709d869c965a8aee21217f9", + "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000001 - Mock Entry 20-3.mp4": "82258d5ed3062fc8fd986ec9bedec888", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000002 - Mock Entry 20-2.mp4": "d3c9d4918af48a3da67baabab3535e20", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000003 - Mock Entry 20-1.mp4": "a464e06a6679b3de0dd332b0022aa7bb", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.info.json": "INFO_JSON", + "Best Prebuilt TV Show Collection/Season 02/s02.e000004 - Mock Entry 21-1.mp4": "555fdada3339f0d359656478d9d171d2", + "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", + "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/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 index d4f5a73a..f2605984 100644 --- 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 @@ -2,15 +2,15 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "87f96a1e055447383bfea0a12680438d", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83" } \ 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 index d4859ae8..722c3874 100644 --- 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 @@ -2,16 +2,16 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "87f96a1e055447383bfea0a12680438d", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index 4675c9a4..5dd5e93f 100644 --- 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 @@ -2,28 +2,28 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "04d06f293fcb5164266bedf66b4d4264", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "98da10d4278b3b4fbc3a52a57ce8faea", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "2d964ed943027358d440b2c6faf00f56", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "9a1a761fafc7213e30aedf7ba01e192e", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "2d09a282c18e12c7b435ec9b0fcd83ba", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83" } \ 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 index eb867dce..ba0b65f2 100644 --- 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 @@ -2,29 +2,29 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "04d06f293fcb5164266bedf66b4d4264", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20060601 - Mock Entry 20-7.mp4": "98da10d4278b3b4fbc3a52a57ce8faea", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070601 - Mock Entry 20-6.mp4": "2d964ed943027358d440b2c6faf00f56", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20070602 - Mock Entry 20-5.mp4": "9a1a761fafc7213e30aedf7ba01e192e", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e20080601 - Mock Entry 20-4.mp4": "2d09a282c18e12c7b435ec9b0fcd83ba", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080701 - Mock Entry 20-3.mp4": "2ed76a1c5ca5aefc99cafbe45beb7968", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080801 - Mock Entry 20-2.mp4": "e98fdf4ba39fa60c6349152c65352df7", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e20080802 - Mock Entry 20-1.mp4": "1dd828f81bcb808ad91f6d1da8cce235", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e21080801 - Mock Entry 21-1.mp4": "052709f404d1ec6a33c8a0b52e133c83", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index 9b122712..b50d8778 100644 --- 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 @@ -2,15 +2,15 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "09f7a5dced4a46e3681db8f2848e0444", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "eaa3f351703b80239f15c03c5b727f31", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "e8acab0ed714ef96a6d1463154996a5b", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "893ed940046b8a650af0072029292899", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "001f7b61786b4ecb207cdf45fc6838e8", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a" } \ 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 index 647a9972..4c88b309 100644 --- 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 @@ -2,16 +2,16 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "09f7a5dced4a46e3681db8f2848e0444", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "23ea4fc60be000f224c60911133445c4", + "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "473f212008eabbff7614e092e39c0e83", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "2ee2edf10085b2aa3a3a1cd1850cfab1", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "37c636ccbbbde5211290aa40e86c95ca", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 index 6d814cb4..8b2f2700 100644 --- 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 @@ -2,28 +2,28 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ea18f9d83c908053c178340b3e6b5a63", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "28de4c86761f962a274f877676273f42", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "5f700d73364bb0c1ccfa34987abf5b4a", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "9ec937cc60b7e8fef0a6741033d539e3", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "938c64fafcc01d68811729cc6277364b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "9cc088e0502239894663985c73cbb8d1", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "7e62cec1dd4ab9d6dc429684b12bd8a6", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "376f0187fb4be474af0634cab27a94a3", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "75df3f9f617361c65178484d87625789", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "753590baac8c807337d7be2c6a1bee17", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "eafd4c6ae0be81da688c25c305de550a", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "776544b88a36a0ed7842ad34b462947c", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "fac6137b97e4db79621f55694fd5ed07", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a" } \ 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 index f7ec1114..bc1cb4d7 100644 --- 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 @@ -2,29 +2,29 @@ "Best Prebuilt TV Show Collection/.ytdl-sub-subscription_test-download-archive.json": "ea18f9d83c908053c178340b3e6b5a63", "Best Prebuilt TV Show Collection/Season 01/Season01.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "d699b2e091b389dd470a8d6719b87d00", + "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80052699 - Mock Entry 20-4.mp4": "5f700d73364bb0c1ccfa34987abf5b4a", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "8318cac15f71dfaa373ebb8470288f82", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062698 - Mock Entry 20-5.mp4": "938c64fafcc01d68811729cc6277364b", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "d7e89687663d7251635f6011acf76ca2", + "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80062699 - Mock Entry 20-6.mp4": "7e62cec1dd4ab9d6dc429684b12bd8a6", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "d27c625857e68c56ffa89a199d21c1a2", + "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 01/s01.e80072599 - Mock Entry 20-7.mp4": "75df3f9f617361c65178484d87625789", "Best Prebuilt TV Show Collection/Season 02/Season02.jpg": "e80c508c4818454300133fe1dc1a9cd7", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "eb87faf31e9521949e1d46caa9bdaeba", + "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e79052499 - Mock Entry 21-1.mp4": "d885df2112e5fdd5b0f20876851ef438", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "f9b1724b674ce5fe90ca3da72b9dce50", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052498 - Mock Entry 20-1.mp4": "456a1778941f9abf6ee3b515e44ab8d1", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "c21e448042a9ce3f81651726f8ac8586", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052499 - Mock Entry 20-2.mp4": "4319b061434ab13ee20ac4d64980025b", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3-thumb.jpg": "e80c508c4818454300133fe1dc1a9cd7", - "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "1ff4454ef2e877c2bb857da26aa59a0d", + "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.info.json": "INFO_JSON", "Best Prebuilt TV Show Collection/Season 02/s02.e80052599 - Mock Entry 20-3.mp4": "b0777c0678763c456fdb9fbbf90c371a", "Best Prebuilt TV Show Collection/fanart.jpg": "15c9a67b554f415a662fdf7a3340cd61", "Best Prebuilt TV Show Collection/poster.jpg": "0b0fdbe56bab3e3fdda18730588d742a" 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 8caa577b..de289c35 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 @@ { "Project ⧸ Zombie/.ytdl-sub-pz-download-archive.json": "aadb59c92dcf14ee6617c77423a14584", "Project ⧸ Zombie/Season 2010/s2010.e081301 - Oblivion Mod "Falcor" p.1-thumb.jpg": "fb95b510681676e81c321171fc23143e", - "Project ⧸ Zombie/Season 2010/s2010.e081301 - Oblivion Mod "Falcor" p.1.info.json": "71a73acadb2b22b03e694450e24829c3", + "Project ⧸ Zombie/Season 2010/s2010.e081301 - Oblivion Mod "Falcor" p.1.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2010/s2010.e081301 - Oblivion Mod "Falcor" p.1.mp4": "6aab51d2ebb374dc965970cbacd00bda", "Project ⧸ Zombie/Season 2010/s2010.e081301 - Oblivion Mod "Falcor" p.1.nfo": "a1970f06fbc4743fca6db0627de779f3", "Project ⧸ Zombie/Season 2010/s2010.e120201 - Oblivion Mod "Falcor" p.2-thumb.jpg": "8b32ee9c037fa669e444a0ac181525a1", - "Project ⧸ Zombie/Season 2010/s2010.e120201 - Oblivion Mod "Falcor" p.2.info.json": "eed64444efcd28fd011355c99f9f0b11", + "Project ⧸ Zombie/Season 2010/s2010.e120201 - Oblivion Mod "Falcor" p.2.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2010/s2010.e120201 - Oblivion Mod "Falcor" p.2.mp4": "4433a9932f0c3935cd9d339e281f38a9", "Project ⧸ Zombie/Season 2010/s2010.e120201 - Oblivion Mod "Falcor" p.2.nfo": "4ad498ce223454a4baa7d64bb4a837d6", "Project ⧸ Zombie/Season 2011/s2011.e020101 - Jesse's Minecraft Server [Trailer - Feb.1]-thumb.jpg": "b232d253df621aa770b780c1301d364d", - "Project ⧸ Zombie/Season 2011/s2011.e020101 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "2d0fd09ada04988e971680de3bbb16a3", + "Project ⧸ Zombie/Season 2011/s2011.e020101 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2011/s2011.e020101 - Jesse's Minecraft Server [Trailer - Feb.1].mp4": "36622668231135f717456ef960fc7a68", "Project ⧸ Zombie/Season 2011/s2011.e020101 - Jesse's Minecraft Server [Trailer - Feb.1].nfo": "073eefa6e5c6d76edde80258ddf452ee", "Project ⧸ Zombie/Season 2011/s2011.e022701 - Jesse's Minecraft Server [Trailer - Feb.27]-thumb.jpg": "d17c379ea8b362f5b97c6b213b0342cb", - "Project ⧸ Zombie/Season 2011/s2011.e022701 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "df97680cd9c492b81586530f6eae7692", + "Project ⧸ Zombie/Season 2011/s2011.e022701 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2011/s2011.e022701 - Jesse's Minecraft Server [Trailer - Feb.27].mp4": "692f5928b18d6d70db7b5314e08cdfd3", "Project ⧸ Zombie/Season 2011/s2011.e022701 - Jesse's Minecraft Server [Trailer - Feb.27].nfo": "20af231e30a035fb2bc0c946f4b4026d", "Project ⧸ Zombie/Season 2011/s2011.e032101 - Jesse's Minecraft Server [Trailer - Mar.21]-thumb.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", - "Project ⧸ Zombie/Season 2011/s2011.e032101 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "34221ff34f0449cce61004dd91e7bd7c", + "Project ⧸ Zombie/Season 2011/s2011.e032101 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2011/s2011.e032101 - Jesse's Minecraft Server [Trailer - Mar.21].mp4": "f5cb35da0e2ecedee9b74db1402be06d", "Project ⧸ Zombie/Season 2011/s2011.e032101 - Jesse's Minecraft Server [Trailer - Mar.21].nfo": "f8bdc463c0cb2ffdc82aba2bcc27ad5d", "Project ⧸ Zombie/Season 2011/s2011.e052901 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net)-thumb.jpg": "c956192a379b3661595c9920972d4819", - "Project ⧸ Zombie/Season 2011/s2011.e052901 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).info.json": "d8442a2e3d84f88bdb7adb8a123cc676", + "Project ⧸ Zombie/Season 2011/s2011.e052901 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2011/s2011.e052901 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).mp4": "9766181630b30e94a22e571c70a065f4", "Project ⧸ Zombie/Season 2011/s2011.e052901 - Project Zombie |Official Trailer| (IP: mc.projectzombie.beastnode.net).nfo": "cb0184784a8eda842cfaf851f6e6af7d", "Project ⧸ Zombie/Season 2011/s2011.e063001 - Project Zombie |Fin|-thumb.jpg": "00ed383591779ffe98291de60f198fe9", - "Project ⧸ Zombie/Season 2011/s2011.e063001 - Project Zombie |Fin|.info.json": "f4c4808ca277ac254ce59669f5da95bd", + "Project ⧸ Zombie/Season 2011/s2011.e063001 - Project Zombie |Fin|.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2011/s2011.e063001 - Project Zombie |Fin|.mp4": "2d6a06b4b8c4dac8d7c173362d9637a4", "Project ⧸ Zombie/Season 2011/s2011.e063001 - Project Zombie |Fin|.nfo": "54ea4a48116aa98480a79495036c25e9", "Project ⧸ Zombie/Season 2011/s2011.e112101 - Skyrim 'Ultra HD w⧸Mods' [PC]-thumb.jpg": "1718599d5189c65f7d8cf6acfa5ea851", - "Project ⧸ Zombie/Season 2011/s2011.e112101 - Skyrim 'Ultra HD w⧸Mods' [PC].info.json": "0605441961b2692d3ccfd8b30e9ac345", + "Project ⧸ Zombie/Season 2011/s2011.e112101 - Skyrim 'Ultra HD w⧸Mods' [PC].info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2011/s2011.e112101 - Skyrim 'Ultra HD w⧸Mods' [PC].mp4": "60c3221125afbef78990bdcead78a82d", "Project ⧸ Zombie/Season 2011/s2011.e112101 - Skyrim 'Ultra HD w⧸Mods' [PC].nfo": "04f6aad56d85b1f65b81b6b8000f6479", "Project ⧸ Zombie/Season 2012/s2012.e012301 - Project Zombie |Map Trailer|-thumb.jpg": "54ebe9df801b278fdd17b21afa8373a6", - "Project ⧸ Zombie/Season 2012/s2012.e012301 - Project Zombie |Map Trailer|.info.json": "3ac8c6130454dc8628d1954038ef1611", + "Project ⧸ Zombie/Season 2012/s2012.e012301 - Project Zombie |Map Trailer|.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2012/s2012.e012301 - Project Zombie |Map Trailer|.mp4": "2141f0f928d55e94fef7f7d3c7a4aca0", "Project ⧸ Zombie/Season 2012/s2012.e012301 - Project Zombie |Map Trailer|.nfo": "e2b078891b27cfee4c791598d046be24", "Project ⧸ Zombie/Season 2013/s2013.e071901 - Project Zombie Rewind |Trailer|-thumb.jpg": "e29d49433175de8a761af35c5307791f", - "Project ⧸ Zombie/Season 2013/s2013.e071901 - Project Zombie Rewind |Trailer|.info.json": "de10297ea3c72c111741ea06c7e07ec3", + "Project ⧸ Zombie/Season 2013/s2013.e071901 - Project Zombie Rewind |Trailer|.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2013/s2013.e071901 - Project Zombie Rewind |Trailer|.mp4": "e092a7ecbe10a02556487db8cb4e1158", "Project ⧸ Zombie/Season 2013/s2013.e071901 - Project Zombie Rewind |Trailer|.nfo": "ce72e3e210d6d46fef3e0bc208dc69cf", "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer-thumb.jpg": "705ca4e0d99b37e9ecdf6bfe4b90c59b", - "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.info.json": "ffb2dbd264a02848ddea1a1cba96e459", + "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.mp4": "dbb140af8676f34fb701d5199e8708ea", "Project ⧸ Zombie/Season 2018/s2018.e102901 - Jesse's Minecraft Server | Teaser Trailer.nfo": "31e92fc23d9765f8d5bd0d64834a9d1f", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id-thumb.jpg": "28d852ede73b879b9ebf9a061cfc7d46", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.en.srt": "3d2c4e7f65d2ca5e96da38ce7eecfc4e", - "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "59d77abf90db5f3ec96a2a77ee503d18", + "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.info.json": "INFO_JSON", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.mp4": "a1b58a20411fff51ba06c1fc31cadf1f", "Project ⧸ Zombie/Season 2018/s2018.e110201 - Jesse's Minecraft Server | IP mc.jesse.id.nfo": "a9b7ac3cacbda7fed9d12b0519945292", "Project ⧸ Zombie/fanart.jpg": "129c6639b47299bc48062f0365e670ee", diff --git a/tests/resources/expected_downloads_summaries/youtube/test_playlist.json b/tests/resources/expected_downloads_summaries/youtube/test_playlist.json index 8ea6647d..207f5bf6 100644 --- a/tests/resources/expected_downloads_summaries/youtube/test_playlist.json +++ b/tests/resources/expected_downloads_summaries/youtube/test_playlist.json @@ -1,15 +1,15 @@ { "JMC/.ytdl-sub-music_video_playlist_test-download-archive.json": "3fdab8d103e51aa70430b6da0ceb07e2", "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1]-thumb.jpg": "b232d253df621aa770b780c1301d364d", - "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "a5b0ce6d259ad0fd8c8b5d352b35d223", + "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "INFO_JSON", "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].mp4": "95f3abaabccdd76461be5dace92e9489", "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].nfo": "2a2997cbf16fb6b943d9933ad267331e", "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27]-thumb.jpg": "d17c379ea8b362f5b97c6b213b0342cb", - "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "6d28f4d284c7b41eb1c8af0bc50d1190", + "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "INFO_JSON", "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].mp4": "5465a5e5712351945e98667006b08747", "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].nfo": "da7645e8826586388ae0d8278ef6a1c1", "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21]-thumb.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", - "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "78d6dd9ee2a06c4c02ad1eb773d91b13", + "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "INFO_JSON", "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].mp4": "c79ed62c72feb49bd02595322c6e1b89", "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].nfo": "c56083e2f3545fa2cafc4d67cbfdacf8", "JMC/season01-poster.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", diff --git a/tests/resources/expected_downloads_summaries/youtube/test_playlist_archive_migrated.json b/tests/resources/expected_downloads_summaries/youtube/test_playlist_archive_migrated.json new file mode 100644 index 00000000..a082fd38 --- /dev/null +++ b/tests/resources/expected_downloads_summaries/youtube/test_playlist_archive_migrated.json @@ -0,0 +1,17 @@ +{ + "JMC/.ytdl-sub-JMC-download-archive.json": "3fdab8d103e51aa70430b6da0ceb07e2", + "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1]-thumb.jpg": "b232d253df621aa770b780c1301d364d", + "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].info.json": "INFO_JSON", + "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].mp4": "95f3abaabccdd76461be5dace92e9489", + "JMC/Season 01/s01.e11020101 - Jesse's Minecraft Server [Trailer - Feb.1].nfo": "2a2997cbf16fb6b943d9933ad267331e", + "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27]-thumb.jpg": "d17c379ea8b362f5b97c6b213b0342cb", + "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].info.json": "INFO_JSON", + "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].mp4": "5465a5e5712351945e98667006b08747", + "JMC/Season 01/s01.e11022701 - Jesse's Minecraft Server [Trailer - Feb.27].nfo": "da7645e8826586388ae0d8278ef6a1c1", + "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21]-thumb.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", + "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].info.json": "INFO_JSON", + "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].mp4": "c79ed62c72feb49bd02595322c6e1b89", + "JMC/Season 01/s01.e11032101 - Jesse's Minecraft Server [Trailer - Mar.21].nfo": "c56083e2f3545fa2cafc4d67cbfdacf8", + "JMC/season01-poster.jpg": "e7830aa8a64b0cde65ba3f7e5fc56530", + "JMC/tvshow.nfo": "e92e4a2c01522dd9a9c3423f0f9304dc" +} \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/youtube/test_video_cli.json b/tests/resources/expected_downloads_summaries/youtube/test_video_cli.json index ba733bde..80da3488 100644 --- a/tests/resources/expected_downloads_summaries/youtube/test_video_cli.json +++ b/tests/resources/expected_downloads_summaries/youtube/test_video_cli.json @@ -1,6 +1,6 @@ { "JMC/JMC - Oblivion Mod "Falcor" p.1-thumb.jpg": "fb95b510681676e81c321171fc23143e", - "JMC/JMC - Oblivion Mod "Falcor" p.1.info.json": "ebb744c59a37dff5df6e33f926c8eebb", + "JMC/JMC - Oblivion Mod "Falcor" p.1.info.json": "INFO_JSON", "JMC/JMC - Oblivion Mod "Falcor" p.1.mp4": "797b44f3207be01651780d6d86cb70bb", "JMC/JMC - Oblivion Mod "Falcor" p.1.nfo": "24cc4e17d2bebc89b2759ce5471d403e" } \ No newline at end of file diff --git a/tests/resources/expected_downloads_summaries/youtube/test_video_missing_thumb.json b/tests/resources/expected_downloads_summaries/youtube/test_video_missing_thumb.json index a1f618e7..74269469 100644 --- a/tests/resources/expected_downloads_summaries/youtube/test_video_missing_thumb.json +++ b/tests/resources/expected_downloads_summaries/youtube/test_video_missing_thumb.json @@ -1,5 +1,5 @@ { - "JMC/JMC - Oblivion Mod "Falcor" p.1.info.json": "4b361d0ab0220407731553dbe36f12a1", + "JMC/JMC - Oblivion Mod "Falcor" p.1.info.json": "INFO_JSON", "JMC/JMC - Oblivion Mod "Falcor" p.1.mp4": "3744c49f2e447bd7712a5aad5ed36be2", "JMC/JMC - Oblivion Mod "Falcor" p.1.nfo": "24cc4e17d2bebc89b2759ce5471d403e" } \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video-dry-run.txt b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video-dry-run.txt index 4ab6d393..a57b70f5 100644 --- a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video-dry-run.txt +++ b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video-dry-run.txt @@ -3,7 +3,7 @@ Files created: {output_directory} .ytdl-sub-split_by_chapters_video-download-archive.json {output_directory}/Proved Records/[2017] Alfa Mist - Nocturne [Full Album] - 01 - 01. Intro (Feat. Racheal Ofori & Barney Artist).mp3 + 01 - 01. Intro (Feat. Racheal Ofori & Barney Artist.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -15,11 +15,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 01. Intro (Feat. Racheal Ofori & Barney Artist) + title: 01. Intro (Feat. Racheal Ofori & Barney Artist track: 1 tracktotal: 11 year: 2017 - 02 - 02. Answers (Feat. Rick David & Kaya Thomas - Dyke).mp3 + 02 - 02. Answers (Feat. Rick David & Kaya Thomas - Dyke.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -31,11 +31,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 02. Answers (Feat. Rick David & Kaya Thomas - Dyke) + title: 02. Answers (Feat. Rick David & Kaya Thomas - Dyke track: 2 tracktotal: 11 year: 2017 - 03 - 03. Blaze (Feat. Kaya Thomas - Dyke).mp3 + 03 - 03. Blaze (Feat. Kaya Thomas - Dyke.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -47,11 +47,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 03. Blaze (Feat. Kaya Thomas - Dyke) + title: 03. Blaze (Feat. Kaya Thomas - Dyke track: 3 tracktotal: 11 year: 2017 - 04 - 04. What If (Interlude).mp3 + 04 - 04. What If (Interlude.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -63,11 +63,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 04. What If (Interlude) + title: 04. What If (Interlude track: 4 tracktotal: 11 year: 2017 - 05 - 05. No Peace (Feat. Tom Misch).mp3 + 05 - 05. No Peace (Feat. Tom Misch.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -79,11 +79,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 05. No Peace (Feat. Tom Misch) + title: 05. No Peace (Feat. Tom Misch track: 5 tracktotal: 11 year: 2017 - 06 - 06. Closer (Feat. Lester Duval).mp3 + 06 - 06. Closer (Feat. Lester Duval.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -95,11 +95,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 06. Closer (Feat. Lester Duval) + title: 06. Closer (Feat. Lester Duval track: 6 tracktotal: 11 year: 2017 - 07 - 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori).mp3 + 07 - 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -111,11 +111,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori) + title: 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori track: 7 tracktotal: 11 year: 2017 - 08 - 08. Dreams (Feat. Carmody).mp3 + 08 - 08. Dreams (Feat. Carmody.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -127,11 +127,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 08. Dreams (Feat. Carmody) + title: 08. Dreams (Feat. Carmody track: 8 tracktotal: 11 year: 2017 - 09 - 09. Dreaming (Interlude) (Feat. Racheal Ofori).mp3 + 09 - 09. Dreaming (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -143,11 +143,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 09. Dreaming (Interlude) (Feat. Racheal Ofori) + title: 09. Dreaming (Interlude) (Feat. Racheal Ofori track: 9 tracktotal: 11 year: 2017 - 10 - 10. Hopeful (Feat. Jordan Rakei).mp3 + 10 - 10. Hopeful (Feat. Jordan Rakei.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -159,11 +159,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 10. Hopeful (Feat. Jordan Rakei) + title: 10. Hopeful (Feat. Jordan Rakei track: 10 tracktotal: 11 year: 2017 - 11 - 11. Sunrise (Pillows) (Feat. Emmavie).mp3 + 11 - 11. Sunrise (Pillows) (Feat. Emmavie.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -175,7 +175,7 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 11. Sunrise (Pillows) (Feat. Emmavie) + title: 11. Sunrise (Pillows) (Feat. Emmavie track: 11 tracktotal: 11 year: 2017 diff --git a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video.txt b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video.txt index 8ee4b650..abbc7592 100644 --- a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video.txt +++ b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_video.txt @@ -3,7 +3,7 @@ Files created: {output_directory} .ytdl-sub-split_by_chapters_video-download-archive.json {output_directory}/Proved Records/[2017] Alfa Mist - Nocturne [Full Album] - 01 - 01. Intro (Feat. Racheal Ofori & Barney Artist).mp3 + 01 - 01. Intro (Feat. Racheal Ofori & Barney Artist.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 0:00 - 2:06 @@ -14,11 +14,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 01. Intro (Feat. Racheal Ofori & Barney Artist) + title: 01. Intro (Feat. Racheal Ofori & Barney Artist track: 1 tracktotal: 11 year: 2017 - 02 - 02. Answers (Feat. Rick David & Kaya Thomas - Dyke).mp3 + 02 - 02. Answers (Feat. Rick David & Kaya Thomas - Dyke.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 2:06 - 5:40 @@ -29,11 +29,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 02. Answers (Feat. Rick David & Kaya Thomas - Dyke) + title: 02. Answers (Feat. Rick David & Kaya Thomas - Dyke track: 2 tracktotal: 11 year: 2017 - 03 - 03. Blaze (Feat. Kaya Thomas - Dyke).mp3 + 03 - 03. Blaze (Feat. Kaya Thomas - Dyke.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 5:40 - 8:11 @@ -44,11 +44,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 03. Blaze (Feat. Kaya Thomas - Dyke) + title: 03. Blaze (Feat. Kaya Thomas - Dyke track: 3 tracktotal: 11 year: 2017 - 04 - 04. What If (Interlude).mp3 + 04 - 04. What If (Interlude.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 8:11 - 9:35 @@ -59,11 +59,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 04. What If (Interlude) + title: 04. What If (Interlude track: 4 tracktotal: 11 year: 2017 - 05 - 05. No Peace (Feat. Tom Misch).mp3 + 05 - 05. No Peace (Feat. Tom Misch.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 9:35 - 13:19 @@ -74,11 +74,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 05. No Peace (Feat. Tom Misch) + title: 05. No Peace (Feat. Tom Misch track: 5 tracktotal: 11 year: 2017 - 06 - 06. Closer (Feat. Lester Duval).mp3 + 06 - 06. Closer (Feat. Lester Duval.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 13:19 - 17:57 @@ -89,11 +89,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 06. Closer (Feat. Lester Duval) + title: 06. Closer (Feat. Lester Duval track: 6 tracktotal: 11 year: 2017 - 07 - 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori).mp3 + 07 - 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 17:57 - 20:05 @@ -104,11 +104,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori) + title: 07. Delusions: Rumination (Interlude) (Feat. Racheal Ofori track: 7 tracktotal: 11 year: 2017 - 08 - 08. Dreams (Feat. Carmody).mp3 + 08 - 08. Dreams (Feat. Carmody.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 20:05 - 23:58 @@ -119,11 +119,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 08. Dreams (Feat. Carmody) + title: 08. Dreams (Feat. Carmody track: 8 tracktotal: 11 year: 2017 - 09 - 09. Dreaming (Interlude) (Feat. Racheal Ofori).mp3 + 09 - 09. Dreaming (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 23:58 - 24:45 @@ -134,11 +134,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 09. Dreaming (Interlude) (Feat. Racheal Ofori) + title: 09. Dreaming (Interlude) (Feat. Racheal Ofori track: 9 tracktotal: 11 year: 2017 - 10 - 10. Hopeful (Feat. Jordan Rakei).mp3 + 10 - 10. Hopeful (Feat. Jordan Rakei.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 24:45 - 28:53 @@ -149,11 +149,11 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 10. Hopeful (Feat. Jordan Rakei) + title: 10. Hopeful (Feat. Jordan Rakei track: 10 tracktotal: 11 year: 2017 - 11 - 11. Sunrise (Pillows) (Feat. Emmavie).mp3 + 11 - 11. Sunrise (Pillows) (Feat. Emmavie.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 28:53 - 31:43 @@ -164,7 +164,7 @@ Files created: artist: Proved Records artists: Proved Records genre: Unset - title: 11. Sunrise (Pillows) (Feat. Emmavie) + title: 11. Sunrise (Pillows) (Feat. Emmavie track: 11 tracktotal: 11 year: 2017 diff --git a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video-dry-run.txt b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video-dry-run.txt index 530c205e..f1196a37 100644 --- a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video-dry-run.txt +++ b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video-dry-run.txt @@ -3,7 +3,7 @@ Files created: {output_directory} .ytdl-sub-split_by_chapters_with_regex_video-download-archive.json {output_directory}/Alfa Mist/[2017] Nocturne - 01 - Intro (Feat. Racheal Ofori & Barney Artist).mp3 + 01 - Intro (Feat. Racheal Ofori & Barney Artist.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -15,11 +15,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Intro (Feat. Racheal Ofori & Barney Artist) + title: Intro (Feat. Racheal Ofori & Barney Artist track: 1 tracktotal: 11 year: 2017 - 02 - Answers (Feat. Rick David & Kaya Thomas - Dyke).mp3 + 02 - Answers (Feat. Rick David & Kaya Thomas - Dyke.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -31,11 +31,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Answers (Feat. Rick David & Kaya Thomas - Dyke) + title: Answers (Feat. Rick David & Kaya Thomas - Dyke track: 2 tracktotal: 11 year: 2017 - 03 - Blaze (Feat. Kaya Thomas - Dyke).mp3 + 03 - Blaze (Feat. Kaya Thomas - Dyke.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -47,11 +47,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Blaze (Feat. Kaya Thomas - Dyke) + title: Blaze (Feat. Kaya Thomas - Dyke track: 3 tracktotal: 11 year: 2017 - 04 - What If (Interlude).mp3 + 04 - What If (Interlude.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -63,11 +63,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: What If (Interlude) + title: What If (Interlude track: 4 tracktotal: 11 year: 2017 - 05 - No Peace (Feat. Tom Misch).mp3 + 05 - No Peace (Feat. Tom Misch.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -79,11 +79,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: No Peace (Feat. Tom Misch) + title: No Peace (Feat. Tom Misch track: 5 tracktotal: 11 year: 2017 - 06 - Closer (Feat. Lester Duval).mp3 + 06 - Closer (Feat. Lester Duval.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -95,11 +95,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Closer (Feat. Lester Duval) + title: Closer (Feat. Lester Duval track: 6 tracktotal: 11 year: 2017 - 07 - Delusions: Rumination (Interlude) (Feat. Racheal Ofori).mp3 + 07 - Delusions: Rumination (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -111,11 +111,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Delusions: Rumination (Interlude) (Feat. Racheal Ofori) + title: Delusions: Rumination (Interlude) (Feat. Racheal Ofori track: 7 tracktotal: 11 year: 2017 - 08 - Dreams (Feat. Carmody).mp3 + 08 - Dreams (Feat. Carmody.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -127,11 +127,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Dreams (Feat. Carmody) + title: Dreams (Feat. Carmody track: 8 tracktotal: 11 year: 2017 - 09 - Dreaming (Interlude) (Feat. Racheal Ofori).mp3 + 09 - Dreaming (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -143,11 +143,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Dreaming (Interlude) (Feat. Racheal Ofori) + title: Dreaming (Interlude) (Feat. Racheal Ofori track: 9 tracktotal: 11 year: 2017 - 10 - Hopeful (Feat. Jordan Rakei).mp3 + 10 - Hopeful (Feat. Jordan Rakei.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -159,11 +159,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Hopeful (Feat. Jordan Rakei) + title: Hopeful (Feat. Jordan Rakei track: 10 tracktotal: 11 year: 2017 - 11 - Sunrise (Pillows) (Feat. Emmavie).mp3 + 11 - Sunrise (Pillows) (Feat. Emmavie.mp3 From Chapter Split: Warning: Dry-run assumes embedded chapters with no modifications Source Title: Alfa Mist - Nocturne [Full Album] @@ -175,7 +175,7 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Sunrise (Pillows) (Feat. Emmavie) + title: Sunrise (Pillows) (Feat. Emmavie track: 11 tracktotal: 11 year: 2017 diff --git a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video.txt b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video.txt index 1df12e08..57053b62 100644 --- a/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video.txt +++ b/tests/resources/transaction_log_summaries/plugins/split_by_chapters_with_regex_video.txt @@ -3,7 +3,7 @@ Files created: {output_directory} .ytdl-sub-split_by_chapters_with_regex_video-download-archive.json {output_directory}/Alfa Mist/[2017] Nocturne - 01 - Intro (Feat. Racheal Ofori & Barney Artist).mp3 + 01 - Intro (Feat. Racheal Ofori & Barney Artist.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 0:00 - 2:06 @@ -14,11 +14,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Intro (Feat. Racheal Ofori & Barney Artist) + title: Intro (Feat. Racheal Ofori & Barney Artist track: 1 tracktotal: 11 year: 2017 - 02 - Answers (Feat. Rick David & Kaya Thomas - Dyke).mp3 + 02 - Answers (Feat. Rick David & Kaya Thomas - Dyke.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 2:06 - 5:40 @@ -29,11 +29,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Answers (Feat. Rick David & Kaya Thomas - Dyke) + title: Answers (Feat. Rick David & Kaya Thomas - Dyke track: 2 tracktotal: 11 year: 2017 - 03 - Blaze (Feat. Kaya Thomas - Dyke).mp3 + 03 - Blaze (Feat. Kaya Thomas - Dyke.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 5:40 - 8:11 @@ -44,11 +44,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Blaze (Feat. Kaya Thomas - Dyke) + title: Blaze (Feat. Kaya Thomas - Dyke track: 3 tracktotal: 11 year: 2017 - 04 - What If (Interlude).mp3 + 04 - What If (Interlude.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 8:11 - 9:35 @@ -59,11 +59,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: What If (Interlude) + title: What If (Interlude track: 4 tracktotal: 11 year: 2017 - 05 - No Peace (Feat. Tom Misch).mp3 + 05 - No Peace (Feat. Tom Misch.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 9:35 - 13:19 @@ -74,11 +74,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: No Peace (Feat. Tom Misch) + title: No Peace (Feat. Tom Misch track: 5 tracktotal: 11 year: 2017 - 06 - Closer (Feat. Lester Duval).mp3 + 06 - Closer (Feat. Lester Duval.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 13:19 - 17:57 @@ -89,11 +89,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Closer (Feat. Lester Duval) + title: Closer (Feat. Lester Duval track: 6 tracktotal: 11 year: 2017 - 07 - Delusions: Rumination (Interlude) (Feat. Racheal Ofori).mp3 + 07 - Delusions: Rumination (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 17:57 - 20:05 @@ -104,11 +104,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Delusions: Rumination (Interlude) (Feat. Racheal Ofori) + title: Delusions: Rumination (Interlude) (Feat. Racheal Ofori track: 7 tracktotal: 11 year: 2017 - 08 - Dreams (Feat. Carmody).mp3 + 08 - Dreams (Feat. Carmody.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 20:05 - 23:58 @@ -119,11 +119,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Dreams (Feat. Carmody) + title: Dreams (Feat. Carmody track: 8 tracktotal: 11 year: 2017 - 09 - Dreaming (Interlude) (Feat. Racheal Ofori).mp3 + 09 - Dreaming (Interlude) (Feat. Racheal Ofori.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 23:58 - 24:45 @@ -134,11 +134,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Dreaming (Interlude) (Feat. Racheal Ofori) + title: Dreaming (Interlude) (Feat. Racheal Ofori track: 9 tracktotal: 11 year: 2017 - 10 - Hopeful (Feat. Jordan Rakei).mp3 + 10 - Hopeful (Feat. Jordan Rakei.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 24:45 - 28:53 @@ -149,11 +149,11 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Hopeful (Feat. Jordan Rakei) + title: Hopeful (Feat. Jordan Rakei track: 10 tracktotal: 11 year: 2017 - 11 - Sunrise (Pillows) (Feat. Emmavie).mp3 + 11 - Sunrise (Pillows) (Feat. Emmavie.mp3 From Chapter Split: Source Title: Alfa Mist - Nocturne [Full Album] Segment: 28:53 - 31:43 @@ -164,7 +164,7 @@ Files created: artist: Alfa Mist artists: Alfa Mist genre: Unset - title: Sunrise (Pillows) (Feat. Emmavie) + title: Sunrise (Pillows) (Feat. Emmavie track: 11 tracktotal: 11 year: 2017 diff --git a/tests/resources/transaction_log_summaries/plugins/test_audio_extract_single_best.txt b/tests/resources/transaction_log_summaries/plugins/test_audio_extract_single_best.txt new file mode 100644 index 00000000..9ae37e69 --- /dev/null +++ b/tests/resources/transaction_log_summaries/plugins/test_audio_extract_single_best.txt @@ -0,0 +1,22 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-single_song_best_test-download-archive.json +{output_directory}/YouTube/[2019] YouTube Rewind 2019: For the Record | #YouTubeRewind + 01 - YouTube Rewind 2019: For the Record | #YouTubeRewind.m4a + Music Tags: + album: YouTube Rewind 2019: For the Record | #YouTubeRewind + albumartist: YouTube + albumartists: YouTube + artist: YouTube + artists: YouTube + genre: Unset + genres: + - multi_tag_1 + - multi_tag_2 + title: YouTube Rewind 2019: For the Record | #YouTubeRewind + track: 1 + tracktotal: 1 + year: 2019 + Embedded thumbnail + folder.jpg \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/plugins/test_audio_extract_single_best_dry_run.txt b/tests/resources/transaction_log_summaries/plugins/test_audio_extract_single_best_dry_run.txt new file mode 100644 index 00000000..dcc32ffa --- /dev/null +++ b/tests/resources/transaction_log_summaries/plugins/test_audio_extract_single_best_dry_run.txt @@ -0,0 +1,23 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-single_song_best_test-download-archive.json +{output_directory}/YouTube/[2019] YouTube Rewind 2019: For the Record | #YouTubeRewind + 01 - YouTube Rewind 2019: For the Record | #YouTubeRewind.m4a + Caution: extracted audio with 'best' format is not known during dry-run. Defaulting to m4a. + Music Tags: + album: YouTube Rewind 2019: For the Record | #YouTubeRewind + albumartist: YouTube + albumartists: YouTube + artist: YouTube + artists: YouTube + genre: Unset + genres: + - multi_tag_1 + - multi_tag_2 + title: YouTube Rewind 2019: For the Record | #YouTubeRewind + track: 1 + tracktotal: 1 + year: 2019 + Embedded thumbnail + folder.jpg \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index f1bcd674..b812c934 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e060601 - Mock Entry 20-7-thumb.jpg s2020.e060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index c67e3134..3ff899a3 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e080701 - Mock Entry 20-3-thumb.jpg s2020.e080701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index f1bcd674..b812c934 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e060601 - Mock Entry 20-7-thumb.jpg s2020.e060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index c67e3134..3ff899a3 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e080701 - Mock Entry 20-3-thumb.jpg s2020.e080701 - Mock Entry 20-3.info.json 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index ea3c3840..e482b181 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 875414ba..8849e9b9 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index ea3c3840..e482b181 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 875414ba..8849e9b9 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 0d07fa73..5076ce20 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202006 s202006.e0601 - Mock Entry 20-7-thumb.jpg s202006.e0601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index c85bf941..20341ade 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202008 s202008.e0701 - Mock Entry 20-3-thumb.jpg s202008.e0701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 0d07fa73..5076ce20 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202006 s202006.e0601 - Mock Entry 20-7-thumb.jpg s202006.e0601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index c85bf941..20341ade 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202008 s202008.e0701 - Mock Entry 20-3-thumb.jpg s202008.e0701 - Mock Entry 20-3.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 8862d5ff..1265b65c 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000001 - Mock Entry 21-1-thumb.jpg s01.e000001 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 8862d5ff..1265b65c 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000001 - Mock Entry 21-1-thumb.jpg s01.e000001 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index a81d1cbe..5df3afee 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -206,13 +208,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000002 - Mock Entry 20-4-thumb.jpg s01.e000002 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index a81d1cbe..5df3afee 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -206,13 +208,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000002 - Mock Entry 20-4-thumb.jpg s01.e000002 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 91aa1f7e..8d6a047e 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20080701 - Mock Entry 20-3-thumb.jpg s01.e20080701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 91aa1f7e..8d6a047e 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20080701 - Mock Entry 20-3-thumb.jpg s01.e20080701 - Mock Entry 20-3.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 6b718aa5..af9f7f22 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20060601 - Mock Entry 20-7-thumb.jpg s01.e20060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 6b718aa5..af9f7f22 100644 --- a/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/jellyfin_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20060601 - Mock Entry 20-7-thumb.jpg s01.e20060601 - Mock Entry 20-7.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index bcb474cc..e13da025 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e79052499 - Mock Entry 21-1-thumb.jpg s01.e79052499 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index bcb474cc..e13da025 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e79052499 - Mock Entry 21-1-thumb.jpg s01.e79052499 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d26c0453..ad30717e 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e80052699 - Mock Entry 20-4-thumb.jpg s01.e80052699 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d26c0453..ad30717e 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e80052699 - Mock Entry 20-4-thumb.jpg s01.e80052699 - Mock Entry 20-4.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index f1bcd674..b812c934 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e060601 - Mock Entry 20-7-thumb.jpg s2020.e060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index c67e3134..3ff899a3 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e080701 - Mock Entry 20-3-thumb.jpg s2020.e080701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index f1bcd674..b812c934 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e060601 - Mock Entry 20-7-thumb.jpg s2020.e060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index c67e3134..3ff899a3 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e080701 - Mock Entry 20-3-thumb.jpg s2020.e080701 - Mock Entry 20-3.info.json 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index ea3c3840..e482b181 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 875414ba..8849e9b9 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index ea3c3840..e482b181 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 875414ba..8849e9b9 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 0d07fa73..5076ce20 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202006 s202006.e0601 - Mock Entry 20-7-thumb.jpg s202006.e0601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index c85bf941..20341ade 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202008 s202008.e0701 - Mock Entry 20-3-thumb.jpg s202008.e0701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 0d07fa73..5076ce20 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202006 s202006.e0601 - Mock Entry 20-7-thumb.jpg s202006.e0601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index c85bf941..20341ade 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -119,13 +121,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202008 s202008.e0701 - Mock Entry 20-3-thumb.jpg s202008.e0701 - Mock Entry 20-3.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 8862d5ff..1265b65c 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000001 - Mock Entry 21-1-thumb.jpg s01.e000001 - Mock Entry 21-1.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 8862d5ff..1265b65c 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000001 - Mock Entry 21-1-thumb.jpg s01.e000001 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index a81d1cbe..5df3afee 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -206,13 +208,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000002 - Mock Entry 20-4-thumb.jpg s01.e000002 - Mock Entry 20-4.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index a81d1cbe..5df3afee 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -206,13 +208,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000002 - Mock Entry 20-4-thumb.jpg s01.e000002 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 91aa1f7e..8d6a047e 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20080701 - Mock Entry 20-3-thumb.jpg s01.e20080701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 91aa1f7e..8d6a047e 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20080701 - Mock Entry 20-3-thumb.jpg s01.e20080701 - Mock Entry 20-3.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 6b718aa5..af9f7f22 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20060601 - Mock Entry 20-7-thumb.jpg s01.e20060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 6b718aa5..af9f7f22 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20060601 - Mock Entry 20-7-thumb.jpg s01.e20060601 - Mock Entry 20-7.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index bcb474cc..e13da025 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e79052499 - Mock Entry 21-1-thumb.jpg s01.e79052499 - Mock Entry 21-1.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index bcb474cc..e13da025 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -118,13 +120,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e79052499 - Mock Entry 21-1-thumb.jpg s01.e79052499 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d26c0453..ad30717e 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e80052699 - Mock Entry 20-4-thumb.jpg s01.e80052699 - Mock Entry 20-4.info.json diff --git a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d26c0453..ad30717e 100644 --- a/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/kodi_tv_show_collection/season_by_collection__episode_by_year_month_day_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -235,13 +237,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e80052699 - Mock Entry 20-4-thumb.jpg s01.e80052699 - Mock Entry 20-4.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ No newline at end of file diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 7192b6c7..0e8ee84a 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_download_index/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 266a98d5..f09a1078 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e060601 - Mock Entry 20-7-thumb.jpg s2020.e060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index b8842346..4edf0973 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -63,13 +65,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e080701 - Mock Entry 20-3-thumb.jpg s2020.e080701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 266a98d5..f09a1078 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e060601 - Mock Entry 20-7-thumb.jpg s2020.e060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index b8842346..4edf0973 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -63,13 +65,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e080701 - Mock Entry 20-3-thumb.jpg s2020.e080701 - Mock Entry 20-3.info.json 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 69f33334..108110fb 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 421e3fea..5e1957a9 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -63,13 +65,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 69f33334..108110fb 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json 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_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 421e3fea..5e1957a9 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year__episode_by_month_day_reversed/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -63,13 +65,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 2020 s2020.e14698 - Mock Entry 20-1-thumb.jpg s2020.e14698 - Mock Entry 20-1.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 8c266f43..6b006724 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202006 s202006.e0601 - Mock Entry 20-7-thumb.jpg s202006.e0601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt index 5d2cd252..d6bd6654 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_0_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -63,13 +65,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202008 s202008.e0701 - Mock Entry 20-3-thumb.jpg s202008.e0701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt index 8c266f43..6b006724 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_many_urls_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202006 s202006.e0601 - Mock Entry 20-7-thumb.jpg s202006.e0601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt index 5d2cd252..d6bd6654 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_by_date/season_by_year_month__episode_by_day/is_yt_1_reformatted_to_season_by_year__episode_by_download_index.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show by Date-download-archive.json {output_directory}/Season 2020 s2020.e000001 - Mock Entry 20-3-thumb.jpg s2020.e000001 - Mock Entry 20-3.info.json @@ -63,13 +65,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 202008 s202008.e0701 - Mock Entry 20-3-thumb.jpg s202008.e0701 - Mock Entry 20-3.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 39251e8f..cd317667 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -62,13 +64,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000001 - Mock Entry 21-1-thumb.jpg s01.e000001 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 39251e8f..cd317667 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -62,13 +64,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000001 - Mock Entry 21-1-thumb.jpg s01.e000001 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d16a32e4..eb4eea57 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -108,13 +110,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000002 - Mock Entry 20-4-thumb.jpg s01.e000002 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d16a32e4..eb4eea57 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -108,13 +110,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e000002 - Mock Entry 20-4-thumb.jpg s01.e000002 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 7192b6c7..a74ca655 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_playlist_index_reversed/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1 +1,9 @@ -No new, modified, or removed files in '{output_directory}' \ No newline at end of file +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-subscription_test-download-archive.json \ 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 0acb4afb..2dbbbf06 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -62,13 +64,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20080701 - Mock Entry 20-3-thumb.jpg s01.e20080701 - Mock Entry 20-3.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 0acb4afb..2dbbbf06 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_1/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -62,13 +64,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20080701 - Mock Entry 20-3-thumb.jpg s01.e20080701 - Mock Entry 20-3.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 892ec95b..997f7d0a 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_0_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20060601 - Mock Entry 20-7-thumb.jpg s01.e20060601 - Mock Entry 20-7.info.json diff --git a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index 892ec95b..997f7d0a 100644 --- a/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt +++ b/tests/resources/transaction_log_summaries/unit/plex_tv_show_collection/season_by_collection__episode_by_year_month_day/s_2/is_yt_1_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e20060601 - Mock Entry 20-7-thumb.jpg s01.e20060601 - Mock Entry 20-7.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d95d7206..49dd5893 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -62,13 +64,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e79052499 - Mock Entry 21-1-thumb.jpg s01.e79052499 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index d95d7206..49dd5893 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-3-thumb.jpg s01.e000001 - Mock Entry 20-3.info.json @@ -62,13 +64,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e79052499 - Mock Entry 21-1-thumb.jpg s01.e79052499 - Mock Entry 21-1.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index dab43664..087585a2 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e80052699 - Mock Entry 20-4-thumb.jpg s01.e80052699 - Mock Entry 20-4.info.json 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt index dab43664..087585a2 100644 --- 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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.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_reformatted_to_season_by_collection__episode_by_playlist_index_reversed.txt @@ -1,5 +1,7 @@ Files created: ---------------------------------------- +{output_directory} + .ytdl-sub-Best Prebuilt TV Show Collection-download-archive.json {output_directory}/Season 01 s01.e000001 - Mock Entry 20-7-thumb.jpg s01.e000001 - Mock Entry 20-7.info.json @@ -123,13 +125,10 @@ Files created: title: 2021-08-08 - Mock Entry 21-1 year: 2021 -Files modified: +Files removed: ---------------------------------------- {output_directory} .ytdl-sub-subscription_test-download-archive.json - -Files removed: ----------------------------------------- {output_directory}/Season 01 s01.e80052699 - Mock Entry 20-4-thumb.jpg s01.e80052699 - Mock Entry 20-4.info.json diff --git a/tests/resources/transaction_log_summaries/youtube/test_playlist_archive_migrated.txt b/tests/resources/transaction_log_summaries/youtube/test_playlist_archive_migrated.txt new file mode 100644 index 00000000..056ae643 --- /dev/null +++ b/tests/resources/transaction_log_summaries/youtube/test_playlist_archive_migrated.txt @@ -0,0 +1,9 @@ +Files created: +---------------------------------------- +{output_directory} + .ytdl-sub-JMC-download-archive.json + +Files removed: +---------------------------------------- +{output_directory} + .ytdl-sub-music_video_playlist_test-download-archive.json \ No newline at end of file diff --git a/tests/unit/config/test_config_file.py b/tests/unit/config/test_config_file.py index f2716c7d..6dcb6769 100644 --- a/tests/unit/config/test_config_file.py +++ b/tests/unit/config/test_config_file.py @@ -38,6 +38,7 @@ class TestConfigFilePartiallyValidatesPresets: {"output_options": {"file_name": "test"}}, {"output_options": {"keep_files_after": "today"}}, {"ytdl_options": {"format": "best"}}, + {"format": "best"}, {"overrides": {"a": "b"}}, ], ) @@ -52,6 +53,7 @@ class TestConfigFilePartiallyValidatesPresets: def test_success__empty_plugins(self, plugin: str): excluded_plugins = [ "embed_thumbnail", # value is bool, not dict + "format", # value is string, not dict ] if plugin not in excluded_plugins: self._partial_validate({plugin: {}}) diff --git a/tests/unit/config/test_subscription.py b/tests/unit/config/test_subscription.py index fd9e706c..f5aed89d 100644 --- a/tests/unit/config/test_subscription.py +++ b/tests/unit/config/test_subscription.py @@ -1,8 +1,10 @@ import re +from contextlib import contextmanager from typing import Dict from unittest.mock import patch import pytest +from mergedeep import mergedeep from ytdl_sub.config.config_file import ConfigFile from ytdl_sub.plugins.nfo_tags import NfoTagsOptions @@ -12,73 +14,104 @@ from ytdl_sub.utils.exceptions import ValidationException @pytest.fixture -def preset_file(youtube_video: Dict, output_options: Dict): +def config_file_with_subscription_value(config_file: ConfigFile): + config_dict = config_file.as_dict() + mergedeep.merge( + config_dict, {"configuration": {"subscription_value": "test_config_subscription_value"}} + ) + return ConfigFile.from_dict(config_dict) + + +@contextmanager +def mock_load_yaml(preset_dict: Dict) -> None: with patch("ytdl_sub.subscriptions.subscription.load_yaml") as mock_load_yaml: - mock_load_yaml.return_value = { - "__preset__": { - "download": youtube_video, - "output_options": output_options, - "nfo_tags": { - "tags": {"key-3": "file_preset"}, - }, - "overrides": {"test_override": "original"}, - }, - "__value__": "test_override", - "test_preset": { - "preset": "parent_preset_3", - "nfo_tags": { - "tags": {"key-4": "test_preset"}, - }, - }, - } + mock_load_yaml.return_value = preset_dict yield @pytest.fixture -def preset_file_with_value(youtube_video: Dict, output_options: Dict): - with patch("ytdl_sub.subscriptions.subscription.load_yaml") as mock_load_yaml: - mock_load_yaml.return_value = { - "__preset__": { - "preset": "parent_preset_3", - "download": youtube_video, - "output_options": output_options, - "nfo_tags": { - "tags": {"key-3": "file_preset"}, - }, - "overrides": {"test_override": "original"}, +def preset_with_file_preset(youtube_video: Dict, output_options: Dict): + return { + "__preset__": { + "download": youtube_video, + "output_options": output_options, + "nfo_tags": { + "nfo_name": "eh", + "nfo_root": "eh", + "tags": {"key-3": "file_preset"}, }, - "__value__": "test_override", + "overrides": { + "test_file_subscription_value": "original", + "test_config_subscription_value": "original", + "subscription_indent_1": "original_1", + "subscription_indent_2": "original_2", + }, + }, + "test_preset": { + "preset": "parent_preset_3", + "nfo_tags": { + "tags": {"key-4": "test_preset"}, + }, + }, + } + + +@pytest.fixture +def preset_with_subscription_value(preset_with_file_preset: Dict): + return dict( + preset_with_file_preset, + **{ "test_value": "is_overwritten", - } - yield + }, + ) @pytest.fixture -def preset_file_invalid_value(): - with patch("ytdl_sub.subscriptions.subscription.load_yaml") as mock_load_yaml: - mock_load_yaml.return_value = { - "__value__": {"should be": "string"}, - } - yield +def preset_with_subscription_file_value(preset_with_subscription_value: Dict): + return dict( + preset_with_subscription_value, + **{ + "__value__": "test_file_subscription_value", + "test_value": "is_overwritten", + }, + ) @pytest.fixture -def preset_file_subscription_using_value_when_not_defined(): - with patch("ytdl_sub.subscriptions.subscription.load_yaml") as mock_load_yaml: - mock_load_yaml.return_value = {"sub_name": "single value, __value__ not defined"} - yield +def preset_with_subscription_value_nested_presets(preset_with_subscription_value: Dict): + return dict( + preset_with_subscription_value, + **{ + "parent_preset_2": { + "parent_preset_1": {"test_2_1": "is_2_1_overwritten"}, + "test_1": "is_1_overwritten", + } + }, + ) @pytest.fixture -def preset_file_subscription_with_invalid_form(): - with patch("ytdl_sub.subscriptions.subscription.load_yaml") as mock_load_yaml: - mock_load_yaml.return_value = {"sub_name": 4332} - yield +def preset_with_subscription_value_nested_presets_and_indent_variables( + preset_with_subscription_value: Dict, +): + return dict( + preset_with_subscription_value, + **{ + "parent_preset_2": { + "[INDENT_1]": { + "parent_preset_1": {"test_2_1": "is_2_1_overwritten"}, + "[INDENT_2]": { + "test_1": "is_1_overwritten", + }, + } + } + }, + ) -@pytest.mark.usefixtures(preset_file.__name__) -def test_subscription_file_preset_applies(config_file: ConfigFile): - subs = Subscription.from_file_path(config=config_file, subscription_path="mocked") +def test_subscription_file_preset_applies(config_file: ConfigFile, preset_with_file_preset: Dict): + with mock_load_yaml(preset_dict=preset_with_file_preset): + subs = Subscription.from_file_path(config=config_file, subscription_path="mocked") assert len(subs) == 1 # Test __preset__ worked correctly @@ -96,19 +129,118 @@ def test_subscription_file_preset_applies(config_file: ConfigFile): } -@pytest.mark.usefixtures(preset_file_with_value.__name__) -def test_subscription_file_value_applies(config_file: ConfigFile): - subs = Subscription.from_file_path(config=config_file, subscription_path="mocked") - assert len(subs) == 1 +def test_subscription_file_value_applies( + config_file: ConfigFile, preset_with_subscription_file_value: Dict +): + with mock_load_yaml(preset_dict=preset_with_subscription_file_value): + subs = Subscription.from_file_path(config=config_file, subscription_path="mocked") + assert len(subs) == 2 # Test __value__ worked correctly - value_sub = subs[0] - assert value_sub.overrides.dict_with_format_strings.get("test_override") == "is_overwritten" + value_sub = subs[1] + overrides = value_sub.overrides.dict_with_format_strings + assert value_sub.name == "test_value" + + assert overrides.get("test_file_subscription_value") == "is_overwritten" + assert overrides.get("test_file_subscription_value") + assert overrides.get("subscription_value") == "is_overwritten" + + +def test_subscription_file_value_applies_sub_file_takes_precedence( + config_file_with_subscription_value: ConfigFile, + preset_with_subscription_file_value: Dict, +): + with mock_load_yaml(preset_dict=preset_with_subscription_file_value): + subs = Subscription.from_file_path( + config=config_file_with_subscription_value, subscription_path="mocked" + ) + assert len(subs) == 2 + + # Test __value__ worked correctly + value_sub = subs[1].overrides.dict_with_format_strings + assert value_sub.get("test_file_subscription_value") == "is_overwritten" + assert value_sub.get("test_config_subscription_value") == "original" + assert value_sub.get("subscription_name") == "test_value" + assert value_sub.get("subscription_value") == "is_overwritten" + + +def test_subscription_file_value_applies_from_config( + config_file_with_subscription_value: ConfigFile, preset_with_subscription_value: Dict +): + with mock_load_yaml(preset_dict=preset_with_subscription_value): + subs = Subscription.from_file_path( + config=config_file_with_subscription_value, subscription_path="mocked" + ) + assert len(subs) == 2 + + # Test __value__ worked correctly from the config + value_sub = subs[1].overrides.dict_with_format_strings + assert value_sub.get("test_file_subscription_value") == "original" + assert value_sub.get("test_config_subscription_value") == "is_overwritten" + assert value_sub.get("subscription_name") == "test_value" + assert value_sub.get("subscription_value") == "is_overwritten" + + +def test_subscription_file_value_applies_from_config_and_nested( + config_file_with_subscription_value: ConfigFile, + preset_with_subscription_value_nested_presets: Dict, +): + with mock_load_yaml(preset_dict=preset_with_subscription_value_nested_presets): + subs = Subscription.from_file_path( + config=config_file_with_subscription_value, subscription_path="mocked" + ) + assert len(subs) == 4 + + # Test __value__ worked correctly from the config + sub_1 = [sub for sub in subs if sub.name == "test_1"][0].overrides.dict_with_format_strings + sub_2_1 = [sub for sub in subs if sub.name == "test_2_1"][0].overrides.dict_with_format_strings + + assert sub_1.get("test_config_subscription_value") == "is_1_overwritten" + assert sub_1.get("subscription_name") == "test_1" + assert sub_1.get("subscription_value") == "is_1_overwritten" + + assert sub_2_1.get("test_config_subscription_value") == "is_2_1_overwritten" + assert sub_2_1.get("subscription_name") == "test_2_1" + assert sub_2_1.get("subscription_value") == "is_2_1_overwritten" + + +def test_subscription_file_value_applies_from_config_and_nested_and_indent_variables( + config_file_with_subscription_value: ConfigFile, + preset_with_subscription_value_nested_presets_and_indent_variables: Dict, +): + with mock_load_yaml( + preset_dict=preset_with_subscription_value_nested_presets_and_indent_variables + ): + subs = Subscription.from_file_path( + config=config_file_with_subscription_value, subscription_path="mocked" + ) + assert len(subs) == 4 + + # Test __value__ worked correctly from the config + sub_test_value = [sub for sub in subs if sub.name == "test_value"][ + 0 + ].overrides.dict_with_format_strings + sub_1 = [sub for sub in subs if sub.name == "test_1"][0].overrides.dict_with_format_strings + sub_2_1 = [sub for sub in subs if sub.name == "test_2_1"][0].overrides.dict_with_format_strings + + assert sub_test_value.get("subscription_indent_1") == "original_1" + assert sub_test_value.get("subscription_indent_2") == "original_2" + + assert sub_1.get("test_config_subscription_value") == "is_1_overwritten" + assert sub_1.get("subscription_name") == "test_1" + assert sub_1.get("subscription_value") == "is_1_overwritten" + assert sub_1.get("subscription_indent_1") == "INDENT_1" + assert sub_1.get("subscription_indent_2") == "INDENT_2" + + assert sub_2_1.get("test_config_subscription_value") == "is_2_1_overwritten" + assert sub_2_1.get("subscription_name") == "test_2_1" + assert sub_2_1.get("subscription_value") == "is_2_1_overwritten" + assert sub_2_1.get("subscription_indent_1") == "INDENT_1" + assert sub_2_1.get("subscription_indent_2") == "original_2" -@pytest.mark.usefixtures(preset_file_invalid_value.__name__) def test_subscription_file_bad_value(config_file: ConfigFile): - with pytest.raises( + with mock_load_yaml(preset_dict={"__value__": {"should be": "string"}}), pytest.raises( ValidationException, match=re.escape( f"Using {FILE_SUBSCRIPTION_VALUE_KEY} in a subscription" @@ -118,22 +250,40 @@ def test_subscription_file_bad_value(config_file: ConfigFile): _ = Subscription.from_file_path(config=config_file, subscription_path="mocked") -@pytest.mark.usefixtures(preset_file_subscription_using_value_when_not_defined.__name__) def test_subscription_file_using_value_when_not_defined(config_file: ConfigFile): - with pytest.raises( + with mock_load_yaml( + preset_dict={"[INDENTS_IN_ERR_MSG]": {"sub_name": "single value, __value__ not defined"}} + ), pytest.raises( ValidationException, match=re.escape( - f"Subscription sub_name is a string, but " - f"{FILE_SUBSCRIPTION_VALUE_KEY} is not set to an override variable" + "Validation error in [INDENTS_IN_ERR_MSG].sub_name: Subscription " + "sub_name is a string, but the subscription value is not set to an override variable" ), ): _ = Subscription.from_file_path(config=config_file, subscription_path="mocked") -@pytest.mark.usefixtures(preset_file_subscription_with_invalid_form.__name__) -def test_subscription_file_invalid_form(config_file: ConfigFile): - with pytest.raises( +def test_subscription_file_using_conflicting_preset_name(config_file: ConfigFile): + with mock_load_yaml( + preset_dict={ + "[INDENTS_IN_ERR_MSG]": { + "[ANOTHER]": {"jellyfin_tv_show_by_date": "single value, __value__ not defined"} + } + } + ), pytest.raises( ValidationException, - match=re.escape(f"Subscription sub_name should be in the form of a preset"), + match=re.escape( + "Validation error in [INDENTS_IN_ERR_MSG].[ANOTHER].jellyfin_tv_show_by_date: " + "jellyfin_tv_show_by_date conflicts with an existing preset name and cannot be used " + "as a subscription name" + ), + ): + _ = Subscription.from_file_path(config=config_file, subscription_path="mocked") + + +def test_subscription_file_invalid_form(config_file: ConfigFile): + with mock_load_yaml(preset_dict={"sub_name": 4332}), pytest.raises( + ValidationException, + match=re.escape(f"Validation error in sub_name: should be of type object."), ): _ = Subscription.from_file_path(config=config_file, subscription_path="mocked") diff --git a/tests/unit/main/test_main.py b/tests/unit/main/test_main.py index 368d2def..b8bb53e2 100644 --- a/tests/unit/main/test_main.py +++ b/tests/unit/main/test_main.py @@ -41,14 +41,14 @@ def test_main_success(mock_sys_exit): def test_main_validation_error(capsys, mock_sys_exit): - validation_exception = ValidationException("test") + validation_exception = ValidationException("test exc") with mock_sys_exit(expected_exit_code=1), patch( "src.ytdl_sub.main._main", side_effect=validation_exception ), patch.object(logging.Logger, "error") as mock_logger: main() assert mock_logger.call_count == 1 - assert mock_logger.call_args.args[0] == validation_exception + assert mock_logger.call_args.args[0] == "test exc" def test_main_uncaught_error(capsys, mock_sys_exit, expected_uncaught_error_message): @@ -69,6 +69,21 @@ def test_main_uncaught_error(capsys, mock_sys_exit, expected_uncaught_error_mess assert mock_error.call_args.args[2] == Logger.debug_log_filename() +def test_main_permission_error(capsys, mock_sys_exit, expected_uncaught_error_message): + permission_error = PermissionError("test") + with mock_sys_exit(expected_exit_code=1), patch( + "src.ytdl_sub.main._main", side_effect=permission_error + ), patch.object(logging.Logger, "error") as mock_error: + main() + + assert mock_error.call_count == 1 + assert mock_error.call_args.args[0] == ( + "A permission error occurred:\n%s\n" + "The user running ytdl-sub must have permission to this file/directory." + ) + assert mock_error.call_args.args[1] == "test" + + def test_args_after_sub_work(mock_sys_exit): with mock_sys_exit(expected_exit_code=0), patch.object( sys, @@ -80,3 +95,30 @@ def test_args_after_sub_work(mock_sys_exit): assert mock_sub.call_count == 1 assert mock_sub.call_args.kwargs["subscription_paths"] == ["subscriptions.yaml"] assert Logger._LOGGER_LEVEL == LoggerLevels.VERBOSE + + +def test_no_positional_arg_command(mock_sys_exit): + with mock_sys_exit(expected_exit_code=1), patch.object( + sys, + "argv", + ["ytdl-sub", "-c", "examples/tv_show_config.yaml", "--log-level", "verbose"], + ), patch.object(logging.Logger, "error") as mock_error: + main() + + assert mock_error.call_count == 1 + assert mock_error.call_args.args[0] == "Must provide one of the commands: sub, dl, view" + + +def test_bad_config_path(mock_sys_exit): + with mock_sys_exit(expected_exit_code=1), patch.object( + sys, + "argv", + ["ytdl-sub", "-c", "does_not_exist.yaml", "sub", "--log-level", "verbose"], + ), patch.object(logging.Logger, "error") as mock_error: + main() + + assert mock_error.call_count == 1 + assert mock_error.call_args.args[0] == ( + "The config file 'does_not_exist.yaml' could not be found. " + "Did you set --config correctly?" + ) diff --git a/tests/unit/prebuilt_presets/test_prebuilt_presets.py b/tests/unit/prebuilt_presets/test_prebuilt_presets.py index 06b5ada8..d663f05a 100644 --- a/tests/unit/prebuilt_presets/test_prebuilt_presets.py +++ b/tests/unit/prebuilt_presets/test_prebuilt_presets.py @@ -153,6 +153,9 @@ class TestPrebuiltTVShowPresets: preset_name=subscription_name, preset_dict={ "preset": parent_presets + [reformatted_tv_show_structure_preset], + "output_options": { + "migrated_download_archive_name": ".ytdl-sub-{tv_show_name_sanitized}-download-archive.json" + }, "overrides": { "url": "https://your.name.here", "tv_show_name": "Best Prebuilt TV Show by Date", @@ -172,7 +175,7 @@ class TestPrebuiltTVShowPresets: assert_expected_downloads( output_directory=output_directory, dry_run=False, - expected_download_summary_file_name=f"{reformatted_expected_summary_name}.json", + expected_download_summary_file_name=f"{reformatted_expected_summary_name}_migrated.json", ) @@ -313,6 +316,9 @@ class TestPrebuiltTvShowCollectionPresets: preset_name=subscription_name, preset_dict={ "preset": parent_presets + [reformatted_tv_show_structure_preset], + "output_options": { + "migrated_download_archive_name": ".ytdl-sub-{tv_show_name_sanitized}-download-archive.json" + }, "overrides": dict( overrides, **{ @@ -334,5 +340,5 @@ class TestPrebuiltTvShowCollectionPresets: assert_expected_downloads( output_directory=output_directory, dry_run=False, - expected_download_summary_file_name=f"{reformatted_expected_summary_name}.json", + expected_download_summary_file_name=f"{reformatted_expected_summary_name}_migrated.json", )