bilateral

This commit is contained in:
Jesse Bannon 2024-03-29 00:23:39 -07:00
parent 1f08b0ebe1
commit fe83266e44
6 changed files with 483 additions and 618 deletions

View file

@ -232,9 +232,12 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
) )
self._downloaded_entries: Set[str] = set() self._downloaded_entries: Set[str] = set()
self._url_state: Optional[URLDownloadState] = None self._url_state: Optional[URLDownloadState] = None
self._collection_url_mapping: Dict[str, UrlValidator] = {
self.overrides.apply_formatter(collection_url.url): collection_url
for collection_url in options.urls.list
}
@property def download_ytdl_options(self, url: Optional[str] = None) -> Dict:
def download_ytdl_options(self) -> Dict:
""" """
Returns Returns
------- -------
@ -243,24 +246,26 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
return ( return (
self._download_ytdl_options_builder.clone() self._download_ytdl_options_builder.clone()
.add(self.ytdl_option_defaults(), before=True) .add(self.ytdl_option_defaults(), before=True)
.add(self._collection_url_mapping[url].ytdl_options.dict if url else None, before=True)
.to_dict() .to_dict()
) )
def metadata_ytdl_options(self, scrape_reverse: bool) -> Dict: def metadata_ytdl_options(self, url: Optional[str] = None) -> Dict:
""" """
Parameters Parameters
---------- ----------
scrape_reverse url
Whether to scrape in reverse order To fetch the URL specific ytdl_options
Returns Returns
------- -------
YTDL options dict for fetching metadata YTDL options dict for fetching metadata
""" """
return ( return (
self._metadata_ytdl_options_builder.clone() self._metadata_ytdl_options_builder.clone()
.add(self.ytdl_option_defaults(), before=True) .add(self.ytdl_option_defaults(), before=True)
.add({"playlistreverse": scrape_reverse} if scrape_reverse else None, before=True) .add(self._collection_url_mapping[url].ytdl_options.dict if url else None, before=True)
.to_dict() .to_dict()
) )
@ -271,7 +276,7 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
------- -------
True if dry-run is enabled. False otherwise. True if dry-run is enabled. False otherwise.
""" """
return self.download_ytdl_options.get("skip_download", False) return self.download_ytdl_options().get("skip_download", False)
@property @property
def is_entry_thumbnails_enabled(self) -> bool: def is_entry_thumbnails_enabled(self) -> bool:
@ -280,7 +285,12 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
------- -------
True if entry thumbnails should be downloaded. False otherwise. True if entry thumbnails should be downloaded. False otherwise.
""" """
return self.download_ytdl_options.get("writethumbnail", False) return self.download_ytdl_options().get("writethumbnail", False)
def _get_url_options(self, url: Optional[str]) -> Dict:
if url:
return self._collection_url_mapping[url].ytdl_options.dict
return {}
############################################################################################### ###############################################################################################
# DOWNLOAD FUNCTIONS # DOWNLOAD FUNCTIONS
@ -307,7 +317,7 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
clear_info_json_files clear_info_json_files
Whether to delete info.json files after yield Whether to delete info.json files after yield
""" """
archive_path = self.download_ytdl_options.get("download_archive", "") archive_path = self.download_ytdl_options().get("download_archive", "")
backup_archive_path = f"{archive_path}.backup" backup_archive_path = f"{archive_path}.backup"
# If archive path exists, maintain download archive is enable # If archive path exists, maintain download archive is enable
@ -342,7 +352,9 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
def _extract_entry_info_with_retry(self, entry: Entry) -> Entry: def _extract_entry_info_with_retry(self, entry: Entry) -> Entry:
download_entry_dict = YTDLP.extract_info_with_retry( download_entry_dict = YTDLP.extract_info_with_retry(
ytdl_options_overrides=self.download_ytdl_options, ytdl_options_overrides=self.download_ytdl_options(
url=entry.get(v.ytdl_sub_input_url, str)
),
is_downloaded_fn=None if self.is_dry_run else entry.is_downloaded, is_downloaded_fn=None if self.is_dry_run else entry.is_downloaded,
is_thumbnail_downloaded_fn=None is_thumbnail_downloaded_fn=None
if (self.is_dry_run or not self.is_entry_thumbnails_enabled) if (self.is_dry_run or not self.is_entry_thumbnails_enabled)
@ -358,27 +370,29 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
self, entries: List[Entry], download_reversed: bool self, entries: List[Entry], download_reversed: bool
) -> Iterator[Entry]: ) -> Iterator[Entry]:
# Iterate a list of entries, and delete the entries after yielding # Iterate a list of entries, and delete the entries after yielding
indices = list(range(len(entries))) entries_to_iter: List[Optional[Entry]] = entries
indices = list(range(len(entries_to_iter)))
if download_reversed: if download_reversed:
indices = reversed(indices) indices = reversed(indices)
for idx in indices: for idx in indices:
self._url_state.entries_downloaded += 1 self._url_state.entries_downloaded += 1
if self._is_downloaded(entries[idx]): if self._is_downloaded(entries_to_iter[idx]):
download_logger.info( download_logger.info(
"Already downloaded entry %d/%d: %s", "Already downloaded entry %d/%d: %s",
self._url_state.entries_downloaded, self._url_state.entries_downloaded,
self._url_state.entries_total, self._url_state.entries_total,
entries[idx].title, entries_to_iter[idx].title,
) )
del entries[idx] entries_to_iter[idx] = None
continue continue
yield entries[idx] yield entries_to_iter[idx]
self._mark_downloaded(entries[idx]) self._mark_downloaded(entries_to_iter[idx])
del entries[idx] del entries_to_iter[idx]
def _iterate_parent_entry( def _iterate_parent_entry(
self, parent: EntryParent, download_reversed: bool self, parent: EntryParent, download_reversed: bool
@ -396,16 +410,15 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
yield entry_child yield entry_child
def _download_url_metadata( def _download_url_metadata(
self, url: str, include_sibling_metadata: bool, scrape_reverse: bool self, url: str, include_sibling_metadata: bool, ytdl_options_overrides: Dict
) -> Tuple[List[EntryParent], List[Entry]]: ) -> Tuple[List[EntryParent], List[Entry]]:
""" """
Downloads only info.json files and forms EntryParent trees Downloads only info.json files and forms EntryParent trees
""" """
with self._separate_download_archives(): with self._separate_download_archives():
entry_dicts = YTDLP.extract_info_via_info_json( entry_dicts = YTDLP.extract_info_via_info_json(
working_directory=self.working_directory, working_directory=self.working_directory,
ytdl_options_overrides=self.metadata_ytdl_options(scrape_reverse=scrape_reverse), ytdl_options_overrides=ytdl_options_overrides,
log_prefix_on_info_json_dl="Downloading metadata for", log_prefix_on_info_json_dl="Downloading metadata for",
url=url, url=url,
) )
@ -446,6 +459,43 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
): ):
yield orphan yield orphan
def _download_metadata(self, url: str, is_bilateral: bool) -> Iterable[Entry]:
metadata_ytdl_options = self.metadata_ytdl_options(url=url)
download_reversed = ScriptUtils.bool_formatter_output(
self.overrides.apply_formatter(self._collection_url_mapping[url].download_reverse)
)
if is_bilateral:
# If bilateral metadata scrape, inverse to download the other side
metadata_ytdl_options = dict(
metadata_ytdl_options,
**{"playlistreverse": not metadata_ytdl_options.get("playlistreverse", False)},
)
download_reversed = not download_reversed
parents, orphan_entries = self._download_url_metadata(
url=url,
include_sibling_metadata=self._collection_url_mapping[url].include_sibling_metadata,
ytdl_options_overrides=metadata_ytdl_options,
)
# TODO: Encapsulate this logic into its own class
self._url_state = URLDownloadState(
entries_total=sum(parent.num_children() for parent in parents) + len(orphan_entries)
)
if is_bilateral:
download_logger.info("Beginning downloads for %s in the opposite direction", url)
else:
download_logger.info("Beginning downloads for %s", url)
for entry in self._iterate_entries(
parents=parents,
orphans=orphan_entries,
download_reversed=download_reversed,
):
entry.initialize_script(self.overrides).add({v.ytdl_sub_input_url: url})
yield entry
def download_metadata(self) -> Iterable[Entry]: def download_metadata(self) -> Iterable[Entry]:
"""The function to perform the download of all media entries""" """The function to perform the download of all media entries"""
# download the bottom-most urls first since they are top-priority # download the bottom-most urls first since they are top-priority
@ -454,34 +504,15 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]):
if not (url := self.overrides.apply_formatter(collection_url.url)): if not (url := self.overrides.apply_formatter(collection_url.url)):
continue continue
parents, orphan_entries = self._download_url_metadata( for entry in self._download_metadata(url=url, is_bilateral=False):
url=url,
include_sibling_metadata=collection_url.include_sibling_metadata,
scrape_reverse=ScriptUtils.bool_formatter_output(
self.overrides.apply_formatter(collection_url.scrape_reverse)
),
)
# TODO: Encapsulate this logic into its own class
self._url_state = URLDownloadState(
entries_total=sum(parent.num_children() for parent in parents) + len(orphan_entries)
)
download_logger.info(
"Beginning downloads for %s", self.overrides.apply_formatter(collection_url.url)
)
for entry in self._iterate_entries(
parents=parents,
orphans=orphan_entries,
download_reversed=ScriptUtils.bool_formatter_output(
self.overrides.apply_formatter(collection_url.download_reverse)
),
):
entry.initialize_script(self.overrides).add(
{v.ytdl_sub_input_url: self.overrides.apply_formatter(collection_url.url)}
)
yield entry yield entry
if ScriptUtils.bool_formatter_output(
self.overrides.apply_formatter(collection_url.extract_bilaterally)
):
for entry in self._download_metadata(url=url, is_bilateral=True):
yield entry
def download(self, entry: Entry) -> Optional[Entry]: def download(self, entry: Entry) -> Optional[Entry]:
""" """
Parameters Parameters

View file

@ -4,6 +4,7 @@ from typing import Optional
from typing import Set from typing import Set
from ytdl_sub.config.plugin.plugin_operation import PluginOperation from ytdl_sub.config.plugin.plugin_operation import PluginOperation
from ytdl_sub.config.preset_options import YTDLOptions
from ytdl_sub.config.validators.options import OptionsValidator from ytdl_sub.config.validators.options import OptionsValidator
from ytdl_sub.script.parser import parse from ytdl_sub.script.parser import parse
from ytdl_sub.validators.strict_dict_validator import StrictDictValidator from ytdl_sub.validators.strict_dict_validator import StrictDictValidator
@ -50,7 +51,8 @@ class UrlValidator(StrictDictValidator):
"source_thumbnails", "source_thumbnails",
"playlist_thumbnails", "playlist_thumbnails",
"download_reverse", "download_reverse",
"scrape_reverse", "extract_bilaterally",
"ytdl_options",
"include_sibling_metadata", "include_sibling_metadata",
} }
@ -81,8 +83,11 @@ class UrlValidator(StrictDictValidator):
self._download_reverse = self._validate_key( self._download_reverse = self._validate_key(
key="download_reverse", validator=OverridesBooleanFormatterValidator, default="True" key="download_reverse", validator=OverridesBooleanFormatterValidator, default="True"
) )
self._scrape_reverse = self._validate_key( self._extract_bilaterally = self._validate_key(
key="scrape_reverse", validator=OverridesBooleanFormatterValidator, default="False" key="extract_bilaterally", validator=OverridesBooleanFormatterValidator, default="False"
)
self._ytdl_options = self._validate_key(
key="ytdl_options", validator=YTDLOptions, default={}
) )
self._include_sibling_metadata = self._validate_key( self._include_sibling_metadata = self._validate_key(
key="include_sibling_metadata", validator=BoolValidator, default=False key="include_sibling_metadata", validator=BoolValidator, default=False
@ -161,12 +166,21 @@ class UrlValidator(StrictDictValidator):
return self._download_reverse return self._download_reverse
@property @property
def scrape_reverse(self) -> OverridesBooleanFormatterValidator: def extract_bilaterally(self) -> OverridesBooleanFormatterValidator:
""" """
Optional. Whether to scrape entry metadata in the reverse order. Optional. If True, will extract metadata from both the beginning and end of the playlist.
Defaults to False. This is for incrementally fetching new entries that may be added at either the beginning
or the end of a playlist. Defaults to False.
""" """
return self._scrape_reverse return self._extract_bilaterally
@property
def ytdl_options(self) -> YTDLOptions:
"""
Optional. ``ytdl_options`` that only apply to this URL. These take precedence
over the plugin ``ytdl_options``.
"""
return self._ytdl_options
@property @property
def include_sibling_metadata(self) -> bool: def include_sibling_metadata(self) -> bool:

View file

@ -1,10 +1,8 @@
import os import os
import posixpath import posixpath
from typing import List
from yt_dlp.utils import sanitize_filename from yt_dlp.utils import sanitize_filename
from ytdl_sub.downloaders.ytdlp import YTDLP
from ytdl_sub.script.functions import Functions from ytdl_sub.script.functions import Functions
from ytdl_sub.script.types.map import Map from ytdl_sub.script.types.map import Map
from ytdl_sub.script.types.resolvable import AnyArgument from ytdl_sub.script.types.resolvable import AnyArgument
@ -25,54 +23,16 @@ _days_in_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
class CustomFunctions: class CustomFunctions:
@staticmethod @staticmethod
def is_playlist_ordered_by_newest(url: String) -> Boolean: def is_bilateral_playlist_url(url: String) -> Boolean:
""" """
Queries a playlist-based URL using yt-dlp to see if it is ordered from newest Heuristic that returns True if the URL is known to be bilateral, meaning that entries can
(lower playlist number) to oldest. be added to the beginning or end.
""" """
# Top-level allow-list of notorious URLs that can be # Top-level allow-list of notorious URLs that can be
# ordered in either direction # ordered in either direction
if "youtube.com/playlist" not in url.value: if "youtube.com/playlist" not in url.value:
return Boolean(True) return Boolean(True)
return Boolean(False)
info_only_kwargs = {
"skip_download": True,
"writethumbnail": False,
"writeinfojson": False,
"ignoreerrors": True,
"extract_flat": "discard",
"playlist_items": "0:5",
}
try:
url_info = YTDLP.extract_info(
ytdl_options_overrides=info_only_kwargs,
url=url.value,
)
if (
not isinstance(url_info, dict)
or not isinstance(url_info.get("entries"), list)
or len(url_info["entries"]) == 0
):
return Boolean(True)
upload_dates: List[str] = []
for entry in url_info["entries"]:
if entry.get("uploader_id") and entry.get("url"):
full_entry = YTDLP.extract_info(
ytdl_options_overrides=info_only_kwargs, url=entry.get("url")
)
if isinstance(full_entry.get("upload_date"), str):
upload_dates.append(full_entry["upload_date"])
for idx in range(1, len(upload_dates)):
if upload_dates[idx - 1] < upload_dates[idx]:
return Boolean(False)
return Boolean(True)
except Exception: # pylint: disable=broad-except
return Boolean(True)
@staticmethod @staticmethod
def legacy_bracket_safety(value: ReturnableArgument) -> ReturnableArgument: def legacy_bracket_safety(value: ReturnableArgument) -> ReturnableArgument:
@ -223,7 +183,7 @@ class CustomFunctions:
Register Custom functions once and only once Register Custom functions once and only once
""" """
if not Functions.is_built_in("sanitize"): if not Functions.is_built_in("sanitize"):
Functions.register_function(CustomFunctions.is_playlist_ordered_by_newest) Functions.register_function(CustomFunctions.is_bilateral_playlist_url)
Functions.register_function(CustomFunctions.legacy_bracket_safety) Functions.register_function(CustomFunctions.legacy_bracket_safety)
Functions.register_function(CustomFunctions.truncate_filepath_if_too_long) Functions.register_function(CustomFunctions.truncate_filepath_if_too_long)
Functions.register_function(CustomFunctions.to_native_filepath) Functions.register_function(CustomFunctions.to_native_filepath)

View file

@ -15,8 +15,7 @@ presets:
_multi_url: _multi_url:
download: download:
- url: "{url}" - url: "{url}"
scrape_reverse: "{%not( url_ordered_by_newest )}" extract_bilaterally: "url_extract_bilaterally"
download_reverse: "url_ordered_by_newest"
playlist_thumbnails: playlist_thumbnails:
- name: "{avatar_uncropped_thumbnail_file_name}" - name: "{avatar_uncropped_thumbnail_file_name}"
uid: "avatar_uncropped" uid: "avatar_uncropped"
@ -28,302 +27,203 @@ presets:
- name: "{banner_uncropped_thumbnail_file_name}" - name: "{banner_uncropped_thumbnail_file_name}"
uid: "banner_uncropped" uid: "banner_uncropped"
- url: "{url2}" - url: "{url2}"
scrape_reverse: "{%not( url2_ordered_by_newest )}" extract_bilaterally: "url2_extract_bilaterally"
download_reverse: "url2_ordered_by_newest"
- url: "{url3}" - url: "{url3}"
scrape_reverse: "{%not( url3_ordered_by_newest )}" extract_bilaterally: "url3_extract_bilaterally"
download_reverse: "url3_ordered_by_newest"
- url: "{url4}" - url: "{url4}"
scrape_reverse: "{%not( url4_ordered_by_newest )}" extract_bilaterally: "url4_extract_bilaterally"
download_reverse: "url4_ordered_by_newest"
- url: "{url5}" - url: "{url5}"
scrape_reverse: "{%not( url5_ordered_by_newest )}" extract_bilaterally: "url5_extract_bilaterally"
download_reverse: "url5_ordered_by_newest"
- url: "{url6}" - url: "{url6}"
scrape_reverse: "{%not( url6_ordered_by_newest )}" extract_bilaterally: "url6_extract_bilaterally"
download_reverse: "url6_ordered_by_newest"
- url: "{url7}" - url: "{url7}"
scrape_reverse: "{%not( url7_ordered_by_newest )}" extract_bilaterally: "url7_extract_bilaterally"
download_reverse: "url7_ordered_by_newest"
- url: "{url8}" - url: "{url8}"
scrape_reverse: "{%not( url8_ordered_by_newest )}" extract_bilaterally: "url8_extract_bilaterally"
download_reverse: "url8_ordered_by_newest"
- url: "{url9}" - url: "{url9}"
scrape_reverse: "{%not( url9_ordered_by_newest )}" extract_bilaterally: "url9_extract_bilaterally"
download_reverse: "url9_ordered_by_newest"
- url: "{url10}" - url: "{url10}"
scrape_reverse: "{%not( url10_ordered_by_newest )}" extract_bilaterally: "url10_extract_bilaterally"
download_reverse: "url10_ordered_by_newest"
- url: "{url11}" - url: "{url11}"
scrape_reverse: "{%not( url11_ordered_by_newest )}" extract_bilaterally: "url11_extract_bilaterally"
download_reverse: "url11_ordered_by_newest"
- url: "{url12}" - url: "{url12}"
scrape_reverse: "{%not( url12_ordered_by_newest )}" extract_bilaterally: "url12_extract_bilaterally"
download_reverse: "url12_ordered_by_newest"
- url: "{url13}" - url: "{url13}"
scrape_reverse: "{%not( url13_ordered_by_newest )}" extract_bilaterally: "url13_extract_bilaterally"
download_reverse: "url13_ordered_by_newest"
- url: "{url14}" - url: "{url14}"
scrape_reverse: "{%not( url14_ordered_by_newest )}" extract_bilaterally: "url14_extract_bilaterally"
download_reverse: "url14_ordered_by_newest"
- url: "{url15}" - url: "{url15}"
scrape_reverse: "{%not( url15_ordered_by_newest )}" extract_bilaterally: "url15_extract_bilaterally"
download_reverse: "url15_ordered_by_newest"
- url: "{url16}" - url: "{url16}"
scrape_reverse: "{%not( url16_ordered_by_newest )}" extract_bilaterally: "url16_extract_bilaterally"
download_reverse: "url16_ordered_by_newest"
- url: "{url17}" - url: "{url17}"
scrape_reverse: "{%not( url17_ordered_by_newest )}" extract_bilaterally: "url17_extract_bilaterally"
download_reverse: "url17_ordered_by_newest"
- url: "{url18}" - url: "{url18}"
scrape_reverse: "{%not( url18_ordered_by_newest )}" extract_bilaterally: "url18_extract_bilaterally"
download_reverse: "url18_ordered_by_newest"
- url: "{url19}" - url: "{url19}"
scrape_reverse: "{%not( url19_ordered_by_newest )}" extract_bilaterally: "url19_extract_bilaterally"
download_reverse: "url19_ordered_by_newest"
- url: "{url20}" - url: "{url20}"
scrape_reverse: "{%not( url20_ordered_by_newest )}" extract_bilaterally: "url20_extract_bilaterally"
download_reverse: "url20_ordered_by_newest"
- url: "{url21}" - url: "{url21}"
scrape_reverse: "{%not( url21_ordered_by_newest )}" extract_bilaterally: "url21_extract_bilaterally"
download_reverse: "url21_ordered_by_newest"
- url: "{url22}" - url: "{url22}"
scrape_reverse: "{%not( url22_ordered_by_newest )}" extract_bilaterally: "url22_extract_bilaterally"
download_reverse: "url22_ordered_by_newest"
- url: "{url23}" - url: "{url23}"
scrape_reverse: "{%not( url23_ordered_by_newest )}" extract_bilaterally: "url23_extract_bilaterally"
download_reverse: "url23_ordered_by_newest"
- url: "{url24}" - url: "{url24}"
scrape_reverse: "{%not( url24_ordered_by_newest )}" extract_bilaterally: "url24_extract_bilaterally"
download_reverse: "url24_ordered_by_newest"
- url: "{url25}" - url: "{url25}"
scrape_reverse: "{%not( url25_ordered_by_newest )}" extract_bilaterally: "url25_extract_bilaterally"
download_reverse: "url25_ordered_by_newest"
- url: "{url26}" - url: "{url26}"
scrape_reverse: "{%not( url26_ordered_by_newest )}" extract_bilaterally: "url26_extract_bilaterally"
download_reverse: "url26_ordered_by_newest"
- url: "{url27}" - url: "{url27}"
scrape_reverse: "{%not( url27_ordered_by_newest )}" extract_bilaterally: "url27_extract_bilaterally"
download_reverse: "url27_ordered_by_newest"
- url: "{url28}" - url: "{url28}"
scrape_reverse: "{%not( url28_ordered_by_newest )}" extract_bilaterally: "url28_extract_bilaterally"
download_reverse: "url28_ordered_by_newest"
- url: "{url29}" - url: "{url29}"
scrape_reverse: "{%not( url29_ordered_by_newest )}" extract_bilaterally: "url29_extract_bilaterally"
download_reverse: "url29_ordered_by_newest"
- url: "{url30}" - url: "{url30}"
scrape_reverse: "{%not( url30_ordered_by_newest )}" extract_bilaterally: "url30_extract_bilaterally"
download_reverse: "url30_ordered_by_newest"
- url: "{url31}" - url: "{url31}"
scrape_reverse: "{%not( url31_ordered_by_newest )}" extract_bilaterally: "url31_extract_bilaterally"
download_reverse: "url31_ordered_by_newest"
- url: "{url32}" - url: "{url32}"
scrape_reverse: "{%not( url32_ordered_by_newest )}" extract_bilaterally: "url32_extract_bilaterally"
download_reverse: "url32_ordered_by_newest"
- url: "{url33}" - url: "{url33}"
scrape_reverse: "{%not( url33_ordered_by_newest )}" extract_bilaterally: "url33_extract_bilaterally"
download_reverse: "url33_ordered_by_newest"
- url: "{url34}" - url: "{url34}"
scrape_reverse: "{%not( url34_ordered_by_newest )}" extract_bilaterally: "url34_extract_bilaterally"
download_reverse: "url34_ordered_by_newest"
- url: "{url35}" - url: "{url35}"
scrape_reverse: "{%not( url35_ordered_by_newest )}" extract_bilaterally: "url35_extract_bilaterally"
download_reverse: "url35_ordered_by_newest"
- url: "{url36}" - url: "{url36}"
scrape_reverse: "{%not( url36_ordered_by_newest )}" extract_bilaterally: "url36_extract_bilaterally"
download_reverse: "url36_ordered_by_newest"
- url: "{url37}" - url: "{url37}"
scrape_reverse: "{%not( url37_ordered_by_newest )}" extract_bilaterally: "url37_extract_bilaterally"
download_reverse: "url37_ordered_by_newest"
- url: "{url38}" - url: "{url38}"
scrape_reverse: "{%not( url38_ordered_by_newest )}" extract_bilaterally: "url38_extract_bilaterally"
download_reverse: "url38_ordered_by_newest"
- url: "{url39}" - url: "{url39}"
scrape_reverse: "{%not( url39_ordered_by_newest )}" extract_bilaterally: "url39_extract_bilaterally"
download_reverse: "url39_ordered_by_newest"
- url: "{url40}" - url: "{url40}"
scrape_reverse: "{%not( url40_ordered_by_newest )}" extract_bilaterally: "url40_extract_bilaterally"
download_reverse: "url40_ordered_by_newest"
- url: "{url41}" - url: "{url41}"
scrape_reverse: "{%not( url41_ordered_by_newest )}" extract_bilaterally: "url41_extract_bilaterally"
download_reverse: "url41_ordered_by_newest"
- url: "{url42}" - url: "{url42}"
scrape_reverse: "{%not( url42_ordered_by_newest )}" extract_bilaterally: "url42_extract_bilaterally"
download_reverse: "url42_ordered_by_newest"
- url: "{url43}" - url: "{url43}"
scrape_reverse: "{%not( url43_ordered_by_newest )}" extract_bilaterally: "url43_extract_bilaterally"
download_reverse: "url43_ordered_by_newest"
- url: "{url44}" - url: "{url44}"
scrape_reverse: "{%not( url44_ordered_by_newest )}" extract_bilaterally: "url44_extract_bilaterally"
download_reverse: "url44_ordered_by_newest"
- url: "{url45}" - url: "{url45}"
scrape_reverse: "{%not( url45_ordered_by_newest )}" extract_bilaterally: "url45_extract_bilaterally"
download_reverse: "url45_ordered_by_newest"
- url: "{url46}" - url: "{url46}"
scrape_reverse: "{%not( url46_ordered_by_newest )}" extract_bilaterally: "url46_extract_bilaterally"
download_reverse: "url46_ordered_by_newest"
- url: "{url47}" - url: "{url47}"
scrape_reverse: "{%not( url47_ordered_by_newest )}" extract_bilaterally: "url47_extract_bilaterally"
download_reverse: "url47_ordered_by_newest"
- url: "{url48}" - url: "{url48}"
scrape_reverse: "{%not( url48_ordered_by_newest )}" extract_bilaterally: "url48_extract_bilaterally"
download_reverse: "url48_ordered_by_newest"
- url: "{url49}" - url: "{url49}"
scrape_reverse: "{%not( url49_ordered_by_newest )}" extract_bilaterally: "url49_extract_bilaterally"
download_reverse: "url49_ordered_by_newest"
- url: "{url50}" - url: "{url50}"
scrape_reverse: "{%not( url50_ordered_by_newest )}" extract_bilaterally: "url50_extract_bilaterally"
download_reverse: "url50_ordered_by_newest"
- url: "{url51}" - url: "{url51}"
scrape_reverse: "{%not( url51_ordered_by_newest )}" extract_bilaterally: "url51_extract_bilaterally"
download_reverse: "url51_ordered_by_newest"
- url: "{url52}" - url: "{url52}"
scrape_reverse: "{%not( url52_ordered_by_newest )}" extract_bilaterally: "url52_extract_bilaterally"
download_reverse: "url52_ordered_by_newest"
- url: "{url53}" - url: "{url53}"
scrape_reverse: "{%not( url53_ordered_by_newest )}" extract_bilaterally: "url53_extract_bilaterally"
download_reverse: "url53_ordered_by_newest"
- url: "{url54}" - url: "{url54}"
scrape_reverse: "{%not( url54_ordered_by_newest )}" extract_bilaterally: "url54_extract_bilaterally"
download_reverse: "url54_ordered_by_newest"
- url: "{url55}" - url: "{url55}"
scrape_reverse: "{%not( url55_ordered_by_newest )}" extract_bilaterally: "url55_extract_bilaterally"
download_reverse: "url55_ordered_by_newest"
- url: "{url56}" - url: "{url56}"
scrape_reverse: "{%not( url56_ordered_by_newest )}" extract_bilaterally: "url56_extract_bilaterally"
download_reverse: "url56_ordered_by_newest"
- url: "{url57}" - url: "{url57}"
scrape_reverse: "{%not( url57_ordered_by_newest )}" extract_bilaterally: "url57_extract_bilaterally"
download_reverse: "url57_ordered_by_newest"
- url: "{url58}" - url: "{url58}"
scrape_reverse: "{%not( url58_ordered_by_newest )}" extract_bilaterally: "url58_extract_bilaterally"
download_reverse: "url58_ordered_by_newest"
- url: "{url59}" - url: "{url59}"
scrape_reverse: "{%not( url59_ordered_by_newest )}" extract_bilaterally: "url59_extract_bilaterally"
download_reverse: "url59_ordered_by_newest"
- url: "{url60}" - url: "{url60}"
scrape_reverse: "{%not( url60_ordered_by_newest )}" extract_bilaterally: "url60_extract_bilaterally"
download_reverse: "url60_ordered_by_newest"
- url: "{url61}" - url: "{url61}"
scrape_reverse: "{%not( url61_ordered_by_newest )}" extract_bilaterally: "url61_extract_bilaterally"
download_reverse: "url61_ordered_by_newest"
- url: "{url62}" - url: "{url62}"
scrape_reverse: "{%not( url62_ordered_by_newest )}" extract_bilaterally: "url62_extract_bilaterally"
download_reverse: "url62_ordered_by_newest"
- url: "{url63}" - url: "{url63}"
scrape_reverse: "{%not( url63_ordered_by_newest )}" extract_bilaterally: "url63_extract_bilaterally"
download_reverse: "url63_ordered_by_newest"
- url: "{url64}" - url: "{url64}"
scrape_reverse: "{%not( url64_ordered_by_newest )}" extract_bilaterally: "url64_extract_bilaterally"
download_reverse: "url64_ordered_by_newest"
- url: "{url65}" - url: "{url65}"
scrape_reverse: "{%not( url65_ordered_by_newest )}" extract_bilaterally: "url65_extract_bilaterally"
download_reverse: "url65_ordered_by_newest"
- url: "{url66}" - url: "{url66}"
scrape_reverse: "{%not( url66_ordered_by_newest )}" extract_bilaterally: "url66_extract_bilaterally"
download_reverse: "url66_ordered_by_newest"
- url: "{url67}" - url: "{url67}"
scrape_reverse: "{%not( url67_ordered_by_newest )}" extract_bilaterally: "url67_extract_bilaterally"
download_reverse: "url67_ordered_by_newest"
- url: "{url68}" - url: "{url68}"
scrape_reverse: "{%not( url68_ordered_by_newest )}" extract_bilaterally: "url68_extract_bilaterally"
download_reverse: "url68_ordered_by_newest"
- url: "{url69}" - url: "{url69}"
scrape_reverse: "{%not( url69_ordered_by_newest )}" extract_bilaterally: "url69_extract_bilaterally"
download_reverse: "url69_ordered_by_newest"
- url: "{url70}" - url: "{url70}"
scrape_reverse: "{%not( url70_ordered_by_newest )}" extract_bilaterally: "url70_extract_bilaterally"
download_reverse: "url70_ordered_by_newest"
- url: "{url71}" - url: "{url71}"
scrape_reverse: "{%not( url71_ordered_by_newest )}" extract_bilaterally: "url71_extract_bilaterally"
download_reverse: "url71_ordered_by_newest"
- url: "{url72}" - url: "{url72}"
scrape_reverse: "{%not( url72_ordered_by_newest )}" extract_bilaterally: "url72_extract_bilaterally"
download_reverse: "url72_ordered_by_newest"
- url: "{url73}" - url: "{url73}"
scrape_reverse: "{%not( url73_ordered_by_newest )}" extract_bilaterally: "url73_extract_bilaterally"
download_reverse: "url73_ordered_by_newest"
- url: "{url74}" - url: "{url74}"
scrape_reverse: "{%not( url74_ordered_by_newest )}" extract_bilaterally: "url74_extract_bilaterally"
download_reverse: "url74_ordered_by_newest"
- url: "{url75}" - url: "{url75}"
scrape_reverse: "{%not( url75_ordered_by_newest )}" extract_bilaterally: "url75_extract_bilaterally"
download_reverse: "url75_ordered_by_newest"
- url: "{url76}" - url: "{url76}"
scrape_reverse: "{%not( url76_ordered_by_newest )}" extract_bilaterally: "url76_extract_bilaterally"
download_reverse: "url76_ordered_by_newest"
- url: "{url77}" - url: "{url77}"
scrape_reverse: "{%not( url77_ordered_by_newest )}" extract_bilaterally: "url77_extract_bilaterally"
download_reverse: "url77_ordered_by_newest"
- url: "{url78}" - url: "{url78}"
scrape_reverse: "{%not( url78_ordered_by_newest )}" extract_bilaterally: "url78_extract_bilaterally"
download_reverse: "url78_ordered_by_newest"
- url: "{url79}" - url: "{url79}"
scrape_reverse: "{%not( url79_ordered_by_newest )}" extract_bilaterally: "url79_extract_bilaterally"
download_reverse: "url79_ordered_by_newest"
- url: "{url80}" - url: "{url80}"
scrape_reverse: "{%not( url80_ordered_by_newest )}" extract_bilaterally: "url80_extract_bilaterally"
download_reverse: "url80_ordered_by_newest"
- url: "{url81}" - url: "{url81}"
scrape_reverse: "{%not( url81_ordered_by_newest )}" extract_bilaterally: "url81_extract_bilaterally"
download_reverse: "url81_ordered_by_newest"
- url: "{url82}" - url: "{url82}"
scrape_reverse: "{%not( url82_ordered_by_newest )}" extract_bilaterally: "url82_extract_bilaterally"
download_reverse: "url82_ordered_by_newest"
- url: "{url83}" - url: "{url83}"
scrape_reverse: "{%not( url83_ordered_by_newest )}" extract_bilaterally: "url83_extract_bilaterally"
download_reverse: "url83_ordered_by_newest"
- url: "{url84}" - url: "{url84}"
scrape_reverse: "{%not( url84_ordered_by_newest )}" extract_bilaterally: "url84_extract_bilaterally"
download_reverse: "url84_ordered_by_newest"
- url: "{url85}" - url: "{url85}"
scrape_reverse: "{%not( url85_ordered_by_newest )}" extract_bilaterally: "url85_extract_bilaterally"
download_reverse: "url85_ordered_by_newest"
- url: "{url86}" - url: "{url86}"
scrape_reverse: "{%not( url86_ordered_by_newest )}" extract_bilaterally: "url86_extract_bilaterally"
download_reverse: "url86_ordered_by_newest"
- url: "{url87}" - url: "{url87}"
scrape_reverse: "{%not( url87_ordered_by_newest )}" extract_bilaterally: "url87_extract_bilaterally"
download_reverse: "url87_ordered_by_newest"
- url: "{url88}" - url: "{url88}"
scrape_reverse: "{%not( url88_ordered_by_newest )}" extract_bilaterally: "url88_extract_bilaterally"
download_reverse: "url88_ordered_by_newest"
- url: "{url89}" - url: "{url89}"
scrape_reverse: "{%not( url89_ordered_by_newest )}" extract_bilaterally: "url89_extract_bilaterally"
download_reverse: "url89_ordered_by_newest"
- url: "{url90}" - url: "{url90}"
scrape_reverse: "{%not( url90_ordered_by_newest )}" extract_bilaterally: "url90_extract_bilaterally"
download_reverse: "url90_ordered_by_newest"
- url: "{url91}" - url: "{url91}"
scrape_reverse: "{%not( url91_ordered_by_newest )}" extract_bilaterally: "url91_extract_bilaterally"
download_reverse: "url91_ordered_by_newest"
- url: "{url92}" - url: "{url92}"
scrape_reverse: "{%not( url92_ordered_by_newest )}" extract_bilaterally: "url92_extract_bilaterally"
download_reverse: "url92_ordered_by_newest"
- url: "{url93}" - url: "{url93}"
scrape_reverse: "{%not( url93_ordered_by_newest )}" extract_bilaterally: "url93_extract_bilaterally"
download_reverse: "url93_ordered_by_newest"
- url: "{url94}" - url: "{url94}"
scrape_reverse: "{%not( url94_ordered_by_newest )}" extract_bilaterally: "url94_extract_bilaterally"
download_reverse: "url94_ordered_by_newest"
- url: "{url95}" - url: "{url95}"
scrape_reverse: "{%not( url95_ordered_by_newest )}" extract_bilaterally: "url95_extract_bilaterally"
download_reverse: "url95_ordered_by_newest"
- url: "{url96}" - url: "{url96}"
scrape_reverse: "{%not( url96_ordered_by_newest )}" extract_bilaterally: "url96_extract_bilaterally"
download_reverse: "url96_ordered_by_newest"
- url: "{url97}" - url: "{url97}"
scrape_reverse: "{%not( url97_ordered_by_newest )}" extract_bilaterally: "url97_extract_bilaterally"
download_reverse: "url97_ordered_by_newest"
- url: "{url98}" - url: "{url98}"
scrape_reverse: "{%not( url98_ordered_by_newest )}" extract_bilaterally: "url98_extract_bilaterally"
download_reverse: "url98_ordered_by_newest"
- url: "{url99}" - url: "{url99}"
scrape_reverse: "{%not( url99_ordered_by_newest )}" extract_bilaterally: "url99_extract_bilaterally"
download_reverse: "url99_ordered_by_newest"
- url: "{url100}" - url: "{url100}"
scrape_reverse: "{%not( url100_ordered_by_newest )}" extract_bilaterally: "url100_extract_bilaterally"
download_reverse: "url100_ordered_by_newest"
overrides: overrides:
avatar_uncropped_thumbnail_file_name: "" avatar_uncropped_thumbnail_file_name: ""
@ -532,104 +432,104 @@ presets:
url100: "{subscription_value_100}" url100: "{subscription_value_100}"
# Default behavior is to assume all URLs are ordered by newest # Default behavior is to assume all URLs are ordered by newest
url_ordered_by_newest: "{ %bool(True) }" url_extract_bilaterally: False
url2_ordered_by_newest: "{ %bool(True) }" url2_extract_bilaterally: False
url3_ordered_by_newest: "{ %bool(True) }" url3_extract_bilaterally: False
url4_ordered_by_newest: "{ %bool(True) }" url4_extract_bilaterally: False
url5_ordered_by_newest: "{ %bool(True) }" url5_extract_bilaterally: False
url6_ordered_by_newest: "{ %bool(True) }" url6_extract_bilaterally: False
url7_ordered_by_newest: "{ %bool(True) }" url7_extract_bilaterally: False
url8_ordered_by_newest: "{ %bool(True) }" url8_extract_bilaterally: False
url9_ordered_by_newest: "{ %bool(True) }" url9_extract_bilaterally: False
url10_ordered_by_newest: "{ %bool(True) }" url10_extract_bilaterally: False
url11_ordered_by_newest: "{ %bool(True) }" url11_extract_bilaterally: False
url12_ordered_by_newest: "{ %bool(True) }" url12_extract_bilaterally: False
url13_ordered_by_newest: "{ %bool(True) }" url13_extract_bilaterally: False
url14_ordered_by_newest: "{ %bool(True) }" url14_extract_bilaterally: False
url15_ordered_by_newest: "{ %bool(True) }" url15_extract_bilaterally: False
url16_ordered_by_newest: "{ %bool(True) }" url16_extract_bilaterally: False
url17_ordered_by_newest: "{ %bool(True) }" url17_extract_bilaterally: False
url18_ordered_by_newest: "{ %bool(True) }" url18_extract_bilaterally: False
url19_ordered_by_newest: "{ %bool(True) }" url19_extract_bilaterally: False
url20_ordered_by_newest: "{ %bool(True) }" url20_extract_bilaterally: False
url21_ordered_by_newest: "{ %bool(True) }" url21_extract_bilaterally: False
url22_ordered_by_newest: "{ %bool(True) }" url22_extract_bilaterally: False
url23_ordered_by_newest: "{ %bool(True) }" url23_extract_bilaterally: False
url24_ordered_by_newest: "{ %bool(True) }" url24_extract_bilaterally: False
url25_ordered_by_newest: "{ %bool(True) }" url25_extract_bilaterally: False
url26_ordered_by_newest: "{ %bool(True) }" url26_extract_bilaterally: False
url27_ordered_by_newest: "{ %bool(True) }" url27_extract_bilaterally: False
url28_ordered_by_newest: "{ %bool(True) }" url28_extract_bilaterally: False
url29_ordered_by_newest: "{ %bool(True) }" url29_extract_bilaterally: False
url30_ordered_by_newest: "{ %bool(True) }" url30_extract_bilaterally: False
url31_ordered_by_newest: "{ %bool(True) }" url31_extract_bilaterally: False
url32_ordered_by_newest: "{ %bool(True) }" url32_extract_bilaterally: False
url33_ordered_by_newest: "{ %bool(True) }" url33_extract_bilaterally: False
url34_ordered_by_newest: "{ %bool(True) }" url34_extract_bilaterally: False
url35_ordered_by_newest: "{ %bool(True) }" url35_extract_bilaterally: False
url36_ordered_by_newest: "{ %bool(True) }" url36_extract_bilaterally: False
url37_ordered_by_newest: "{ %bool(True) }" url37_extract_bilaterally: False
url38_ordered_by_newest: "{ %bool(True) }" url38_extract_bilaterally: False
url39_ordered_by_newest: "{ %bool(True) }" url39_extract_bilaterally: False
url40_ordered_by_newest: "{ %bool(True) }" url40_extract_bilaterally: False
url41_ordered_by_newest: "{ %bool(True) }" url41_extract_bilaterally: False
url42_ordered_by_newest: "{ %bool(True) }" url42_extract_bilaterally: False
url43_ordered_by_newest: "{ %bool(True) }" url43_extract_bilaterally: False
url44_ordered_by_newest: "{ %bool(True) }" url44_extract_bilaterally: False
url45_ordered_by_newest: "{ %bool(True) }" url45_extract_bilaterally: False
url46_ordered_by_newest: "{ %bool(True) }" url46_extract_bilaterally: False
url47_ordered_by_newest: "{ %bool(True) }" url47_extract_bilaterally: False
url48_ordered_by_newest: "{ %bool(True) }" url48_extract_bilaterally: False
url49_ordered_by_newest: "{ %bool(True) }" url49_extract_bilaterally: False
url50_ordered_by_newest: "{ %bool(True) }" url50_extract_bilaterally: False
url51_ordered_by_newest: "{ %bool(True) }" url51_extract_bilaterally: False
url52_ordered_by_newest: "{ %bool(True) }" url52_extract_bilaterally: False
url53_ordered_by_newest: "{ %bool(True) }" url53_extract_bilaterally: False
url54_ordered_by_newest: "{ %bool(True) }" url54_extract_bilaterally: False
url55_ordered_by_newest: "{ %bool(True) }" url55_extract_bilaterally: False
url56_ordered_by_newest: "{ %bool(True) }" url56_extract_bilaterally: False
url57_ordered_by_newest: "{ %bool(True) }" url57_extract_bilaterally: False
url58_ordered_by_newest: "{ %bool(True) }" url58_extract_bilaterally: False
url59_ordered_by_newest: "{ %bool(True) }" url59_extract_bilaterally: False
url60_ordered_by_newest: "{ %bool(True) }" url60_extract_bilaterally: False
url61_ordered_by_newest: "{ %bool(True) }" url61_extract_bilaterally: False
url62_ordered_by_newest: "{ %bool(True) }" url62_extract_bilaterally: False
url63_ordered_by_newest: "{ %bool(True) }" url63_extract_bilaterally: False
url64_ordered_by_newest: "{ %bool(True) }" url64_extract_bilaterally: False
url65_ordered_by_newest: "{ %bool(True) }" url65_extract_bilaterally: False
url66_ordered_by_newest: "{ %bool(True) }" url66_extract_bilaterally: False
url67_ordered_by_newest: "{ %bool(True) }" url67_extract_bilaterally: False
url68_ordered_by_newest: "{ %bool(True) }" url68_extract_bilaterally: False
url69_ordered_by_newest: "{ %bool(True) }" url69_extract_bilaterally: False
url70_ordered_by_newest: "{ %bool(True) }" url70_extract_bilaterally: False
url71_ordered_by_newest: "{ %bool(True) }" url71_extract_bilaterally: False
url72_ordered_by_newest: "{ %bool(True) }" url72_extract_bilaterally: False
url73_ordered_by_newest: "{ %bool(True) }" url73_extract_bilaterally: False
url74_ordered_by_newest: "{ %bool(True) }" url74_extract_bilaterally: False
url75_ordered_by_newest: "{ %bool(True) }" url75_extract_bilaterally: False
url76_ordered_by_newest: "{ %bool(True) }" url76_extract_bilaterally: False
url77_ordered_by_newest: "{ %bool(True) }" url77_extract_bilaterally: False
url78_ordered_by_newest: "{ %bool(True) }" url78_extract_bilaterally: False
url79_ordered_by_newest: "{ %bool(True) }" url79_extract_bilaterally: False
url80_ordered_by_newest: "{ %bool(True) }" url80_extract_bilaterally: False
url81_ordered_by_newest: "{ %bool(True) }" url81_extract_bilaterally: False
url82_ordered_by_newest: "{ %bool(True) }" url82_extract_bilaterally: False
url83_ordered_by_newest: "{ %bool(True) }" url83_extract_bilaterally: False
url84_ordered_by_newest: "{ %bool(True) }" url84_extract_bilaterally: False
url85_ordered_by_newest: "{ %bool(True) }" url85_extract_bilaterally: False
url86_ordered_by_newest: "{ %bool(True) }" url86_extract_bilaterally: False
url87_ordered_by_newest: "{ %bool(True) }" url87_extract_bilaterally: False
url88_ordered_by_newest: "{ %bool(True) }" url88_extract_bilaterally: False
url89_ordered_by_newest: "{ %bool(True) }" url89_extract_bilaterally: False
url90_ordered_by_newest: "{ %bool(True) }" url90_extract_bilaterally: False
url91_ordered_by_newest: "{ %bool(True) }" url91_extract_bilaterally: False
url92_ordered_by_newest: "{ %bool(True) }" url92_extract_bilaterally: False
url93_ordered_by_newest: "{ %bool(True) }" url93_extract_bilaterally: False
url94_ordered_by_newest: "{ %bool(True) }" url94_extract_bilaterally: False
url95_ordered_by_newest: "{ %bool(True) }" url95_extract_bilaterally: False
url96_ordered_by_newest: "{ %bool(True) }" url96_extract_bilaterally: False
url97_ordered_by_newest: "{ %bool(True) }" url97_extract_bilaterally: False
url98_ordered_by_newest: "{ %bool(True) }" url98_extract_bilaterally: False
url99_ordered_by_newest: "{ %bool(True) }" url99_extract_bilaterally: False
url100_ordered_by_newest: "{ %bool(True) }" url100_extract_bilaterally: False

View file

@ -40,106 +40,106 @@ presets:
# Check each URL to ensure ordering matches ytdl-sub's expectations # Check each URL to ensure ordering matches ytdl-sub's expectations
# of being ordered by newest # of being ordered by newest
url_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url) }" url_extract_bilaterally: "{ %is_bilateral_playlist_url(url) }"
url2_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url2) }" url2_extract_bilaterally: "{ %is_bilateral_playlist_url(url2) }"
url3_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url3) }" url3_extract_bilaterally: "{ %is_bilateral_playlist_url(url3) }"
url4_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url4) }" url4_extract_bilaterally: "{ %is_bilateral_playlist_url(url4) }"
url5_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url5) }" url5_extract_bilaterally: "{ %is_bilateral_playlist_url(url5) }"
url6_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url6) }" url6_extract_bilaterally: "{ %is_bilateral_playlist_url(url6) }"
url7_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url7) }" url7_extract_bilaterally: "{ %is_bilateral_playlist_url(url7) }"
url8_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url8) }" url8_extract_bilaterally: "{ %is_bilateral_playlist_url(url8) }"
url9_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url9) }" url9_extract_bilaterally: "{ %is_bilateral_playlist_url(url9) }"
url10_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url10) }" url10_extract_bilaterally: "{ %is_bilateral_playlist_url(url10) }"
url11_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url11) }" url11_extract_bilaterally: "{ %is_bilateral_playlist_url(url11) }"
url12_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url12) }" url12_extract_bilaterally: "{ %is_bilateral_playlist_url(url12) }"
url13_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url13) }" url13_extract_bilaterally: "{ %is_bilateral_playlist_url(url13) }"
url14_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url14) }" url14_extract_bilaterally: "{ %is_bilateral_playlist_url(url14) }"
url15_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url15) }" url15_extract_bilaterally: "{ %is_bilateral_playlist_url(url15) }"
url16_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url16) }" url16_extract_bilaterally: "{ %is_bilateral_playlist_url(url16) }"
url17_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url17) }" url17_extract_bilaterally: "{ %is_bilateral_playlist_url(url17) }"
url18_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url18) }" url18_extract_bilaterally: "{ %is_bilateral_playlist_url(url18) }"
url19_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url19) }" url19_extract_bilaterally: "{ %is_bilateral_playlist_url(url19) }"
url20_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url20) }" url20_extract_bilaterally: "{ %is_bilateral_playlist_url(url20) }"
url21_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url21) }" url21_extract_bilaterally: "{ %is_bilateral_playlist_url(url21) }"
url22_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url22) }" url22_extract_bilaterally: "{ %is_bilateral_playlist_url(url22) }"
url23_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url23) }" url23_extract_bilaterally: "{ %is_bilateral_playlist_url(url23) }"
url24_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url24) }" url24_extract_bilaterally: "{ %is_bilateral_playlist_url(url24) }"
url25_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url25) }" url25_extract_bilaterally: "{ %is_bilateral_playlist_url(url25) }"
url26_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url26) }" url26_extract_bilaterally: "{ %is_bilateral_playlist_url(url26) }"
url27_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url27) }" url27_extract_bilaterally: "{ %is_bilateral_playlist_url(url27) }"
url28_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url28) }" url28_extract_bilaterally: "{ %is_bilateral_playlist_url(url28) }"
url29_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url29) }" url29_extract_bilaterally: "{ %is_bilateral_playlist_url(url29) }"
url30_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url30) }" url30_extract_bilaterally: "{ %is_bilateral_playlist_url(url30) }"
url31_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url31) }" url31_extract_bilaterally: "{ %is_bilateral_playlist_url(url31) }"
url32_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url32) }" url32_extract_bilaterally: "{ %is_bilateral_playlist_url(url32) }"
url33_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url33) }" url33_extract_bilaterally: "{ %is_bilateral_playlist_url(url33) }"
url34_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url34) }" url34_extract_bilaterally: "{ %is_bilateral_playlist_url(url34) }"
url35_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url35) }" url35_extract_bilaterally: "{ %is_bilateral_playlist_url(url35) }"
url36_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url36) }" url36_extract_bilaterally: "{ %is_bilateral_playlist_url(url36) }"
url37_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url37) }" url37_extract_bilaterally: "{ %is_bilateral_playlist_url(url37) }"
url38_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url38) }" url38_extract_bilaterally: "{ %is_bilateral_playlist_url(url38) }"
url39_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url39) }" url39_extract_bilaterally: "{ %is_bilateral_playlist_url(url39) }"
url40_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url40) }" url40_extract_bilaterally: "{ %is_bilateral_playlist_url(url40) }"
url41_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url41) }" url41_extract_bilaterally: "{ %is_bilateral_playlist_url(url41) }"
url42_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url42) }" url42_extract_bilaterally: "{ %is_bilateral_playlist_url(url42) }"
url43_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url43) }" url43_extract_bilaterally: "{ %is_bilateral_playlist_url(url43) }"
url44_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url44) }" url44_extract_bilaterally: "{ %is_bilateral_playlist_url(url44) }"
url45_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url45) }" url45_extract_bilaterally: "{ %is_bilateral_playlist_url(url45) }"
url46_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url46) }" url46_extract_bilaterally: "{ %is_bilateral_playlist_url(url46) }"
url47_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url47) }" url47_extract_bilaterally: "{ %is_bilateral_playlist_url(url47) }"
url48_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url48) }" url48_extract_bilaterally: "{ %is_bilateral_playlist_url(url48) }"
url49_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url49) }" url49_extract_bilaterally: "{ %is_bilateral_playlist_url(url49) }"
url50_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url50) }" url50_extract_bilaterally: "{ %is_bilateral_playlist_url(url50) }"
url51_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url51) }" url51_extract_bilaterally: "{ %is_bilateral_playlist_url(url51) }"
url52_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url52) }" url52_extract_bilaterally: "{ %is_bilateral_playlist_url(url52) }"
url53_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url53) }" url53_extract_bilaterally: "{ %is_bilateral_playlist_url(url53) }"
url54_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url54) }" url54_extract_bilaterally: "{ %is_bilateral_playlist_url(url54) }"
url55_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url55) }" url55_extract_bilaterally: "{ %is_bilateral_playlist_url(url55) }"
url56_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url56) }" url56_extract_bilaterally: "{ %is_bilateral_playlist_url(url56) }"
url57_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url57) }" url57_extract_bilaterally: "{ %is_bilateral_playlist_url(url57) }"
url58_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url58) }" url58_extract_bilaterally: "{ %is_bilateral_playlist_url(url58) }"
url59_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url59) }" url59_extract_bilaterally: "{ %is_bilateral_playlist_url(url59) }"
url60_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url60) }" url60_extract_bilaterally: "{ %is_bilateral_playlist_url(url60) }"
url61_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url61) }" url61_extract_bilaterally: "{ %is_bilateral_playlist_url(url61) }"
url62_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url62) }" url62_extract_bilaterally: "{ %is_bilateral_playlist_url(url62) }"
url63_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url63) }" url63_extract_bilaterally: "{ %is_bilateral_playlist_url(url63) }"
url64_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url64) }" url64_extract_bilaterally: "{ %is_bilateral_playlist_url(url64) }"
url65_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url65) }" url65_extract_bilaterally: "{ %is_bilateral_playlist_url(url65) }"
url66_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url66) }" url66_extract_bilaterally: "{ %is_bilateral_playlist_url(url66) }"
url67_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url67) }" url67_extract_bilaterally: "{ %is_bilateral_playlist_url(url67) }"
url68_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url68) }" url68_extract_bilaterally: "{ %is_bilateral_playlist_url(url68) }"
url69_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url69) }" url69_extract_bilaterally: "{ %is_bilateral_playlist_url(url69) }"
url70_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url70) }" url70_extract_bilaterally: "{ %is_bilateral_playlist_url(url70) }"
url71_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url71) }" url71_extract_bilaterally: "{ %is_bilateral_playlist_url(url71) }"
url72_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url72) }" url72_extract_bilaterally: "{ %is_bilateral_playlist_url(url72) }"
url73_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url73) }" url73_extract_bilaterally: "{ %is_bilateral_playlist_url(url73) }"
url74_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url74) }" url74_extract_bilaterally: "{ %is_bilateral_playlist_url(url74) }"
url75_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url75) }" url75_extract_bilaterally: "{ %is_bilateral_playlist_url(url75) }"
url76_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url76) }" url76_extract_bilaterally: "{ %is_bilateral_playlist_url(url76) }"
url77_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url77) }" url77_extract_bilaterally: "{ %is_bilateral_playlist_url(url77) }"
url78_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url78) }" url78_extract_bilaterally: "{ %is_bilateral_playlist_url(url78) }"
url79_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url79) }" url79_extract_bilaterally: "{ %is_bilateral_playlist_url(url79) }"
url80_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url80) }" url80_extract_bilaterally: "{ %is_bilateral_playlist_url(url80) }"
url81_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url81) }" url81_extract_bilaterally: "{ %is_bilateral_playlist_url(url81) }"
url82_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url82) }" url82_extract_bilaterally: "{ %is_bilateral_playlist_url(url82) }"
url83_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url83) }" url83_extract_bilaterally: "{ %is_bilateral_playlist_url(url83) }"
url84_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url84) }" url84_extract_bilaterally: "{ %is_bilateral_playlist_url(url84) }"
url85_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url85) }" url85_extract_bilaterally: "{ %is_bilateral_playlist_url(url85) }"
url86_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url86) }" url86_extract_bilaterally: "{ %is_bilateral_playlist_url(url86) }"
url87_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url87) }" url87_extract_bilaterally: "{ %is_bilateral_playlist_url(url87) }"
url88_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url88) }" url88_extract_bilaterally: "{ %is_bilateral_playlist_url(url88) }"
url89_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url89) }" url89_extract_bilaterally: "{ %is_bilateral_playlist_url(url89) }"
url90_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url90) }" url90_extract_bilaterally: "{ %is_bilateral_playlist_url(url90) }"
url91_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url91) }" url91_extract_bilaterally: "{ %is_bilateral_playlist_url(url91) }"
url92_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url92) }" url92_extract_bilaterally: "{ %is_bilateral_playlist_url(url92) }"
url93_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url93) }" url93_extract_bilaterally: "{ %is_bilateral_playlist_url(url93) }"
url94_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url94) }" url94_extract_bilaterally: "{ %is_bilateral_playlist_url(url94) }"
url95_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url95) }" url95_extract_bilaterally: "{ %is_bilateral_playlist_url(url95) }"
url96_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url96) }" url96_extract_bilaterally: "{ %is_bilateral_playlist_url(url96) }"
url97_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url97) }" url97_extract_bilaterally: "{ %is_bilateral_playlist_url(url97) }"
url98_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url98) }" url98_extract_bilaterally: "{ %is_bilateral_playlist_url(url98) }"
url99_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url99) }" url99_extract_bilaterally: "{ %is_bilateral_playlist_url(url99) }"
url100_ordered_by_newest: "{ %is_playlist_ordered_by_newest(url100) }" url100_extract_bilaterally: "{ %is_bilateral_playlist_url(url100) }"
#################################################################################################### ####################################################################################################

View file

@ -9,124 +9,124 @@ presets:
season_number_padded: "{collection_season_number_padded}" season_number_padded: "{collection_season_number_padded}"
collection_season_1_url: "" collection_season_1_url: ""
collection_season_1_name: "Season 1" collection_season_1_name: "Season 1"
collection_season_1_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_1_url) }" collection_season_1_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_1_url) }"
collection_season_2_url: "" collection_season_2_url: ""
collection_season_2_name: "Season 2" collection_season_2_name: "Season 2"
collection_season_2_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_2_url) }" collection_season_2_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_2_url) }"
collection_season_3_url: "" collection_season_3_url: ""
collection_season_3_name: "Season 3" collection_season_3_name: "Season 3"
collection_season_3_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_3_url) }" collection_season_3_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_3_url) }"
collection_season_4_url: "" collection_season_4_url: ""
collection_season_4_name: "Season 4" collection_season_4_name: "Season 4"
collection_season_4_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_4_url) }" collection_season_4_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_4_url) }"
collection_season_5_url: "" collection_season_5_url: ""
collection_season_5_name: "Season 5" collection_season_5_name: "Season 5"
collection_season_5_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_5_url) }" collection_season_5_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_5_url) }"
collection_season_6_url: "" collection_season_6_url: ""
collection_season_6_name: "Season 6" collection_season_6_name: "Season 6"
collection_season_6_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_6_url) }" collection_season_6_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_6_url) }"
collection_season_7_url: "" collection_season_7_url: ""
collection_season_7_name: "Season 7" collection_season_7_name: "Season 7"
collection_season_7_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_7_url) }" collection_season_7_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_7_url) }"
collection_season_8_url: "" collection_season_8_url: ""
collection_season_8_name: "Season 8" collection_season_8_name: "Season 8"
collection_season_8_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_8_url) }" collection_season_8_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_8_url) }"
collection_season_9_url: "" collection_season_9_url: ""
collection_season_9_name: "Season 9" collection_season_9_name: "Season 9"
collection_season_9_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_9_url) }" collection_season_9_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_9_url) }"
collection_season_10_url: "" collection_season_10_url: ""
collection_season_10_name: "Season 10" collection_season_10_name: "Season 10"
collection_season_10_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_10_url) }" collection_season_10_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_10_url) }"
collection_season_11_url: "" collection_season_11_url: ""
collection_season_11_name: "Season 11" collection_season_11_name: "Season 11"
collection_season_11_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_11_url) }" collection_season_11_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_11_url) }"
collection_season_12_url: "" collection_season_12_url: ""
collection_season_12_name: "Season 12" collection_season_12_name: "Season 12"
collection_season_12_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_12_url) }" collection_season_12_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_12_url) }"
collection_season_13_url: "" collection_season_13_url: ""
collection_season_13_name: "Season 13" collection_season_13_name: "Season 13"
collection_season_13_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_13_url) }" collection_season_13_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_13_url) }"
collection_season_14_url: "" collection_season_14_url: ""
collection_season_14_name: "Season 14" collection_season_14_name: "Season 14"
collection_season_14_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_14_url) }" collection_season_14_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_14_url) }"
collection_season_15_url: "" collection_season_15_url: ""
collection_season_15_name: "Season 15" collection_season_15_name: "Season 15"
collection_season_15_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_15_url) }" collection_season_15_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_15_url) }"
collection_season_16_url: "" collection_season_16_url: ""
collection_season_16_name: "Season 16" collection_season_16_name: "Season 16"
collection_season_16_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_16_url) }" collection_season_16_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_16_url) }"
collection_season_17_url: "" collection_season_17_url: ""
collection_season_17_name: "Season 17" collection_season_17_name: "Season 17"
collection_season_17_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_17_url) }" collection_season_17_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_17_url) }"
collection_season_18_url: "" collection_season_18_url: ""
collection_season_18_name: "Season 18" collection_season_18_name: "Season 18"
collection_season_18_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_18_url) }" collection_season_18_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_18_url) }"
collection_season_19_url: "" collection_season_19_url: ""
collection_season_19_name: "Season 19" collection_season_19_name: "Season 19"
collection_season_19_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_19_url) }" collection_season_19_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_19_url) }"
collection_season_20_url: "" collection_season_20_url: ""
collection_season_20_name: "Season 20" collection_season_20_name: "Season 20"
collection_season_20_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_20_url) }" collection_season_20_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_20_url) }"
collection_season_21_url: "" collection_season_21_url: ""
collection_season_21_name: "Season 21" collection_season_21_name: "Season 21"
collection_season_21_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_21_url) }" collection_season_21_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_21_url) }"
collection_season_22_url: "" collection_season_22_url: ""
collection_season_22_name: "Season 22" collection_season_22_name: "Season 22"
collection_season_22_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_22_url) }" collection_season_22_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_22_url) }"
collection_season_23_url: "" collection_season_23_url: ""
collection_season_23_name: "Season 23" collection_season_23_name: "Season 23"
collection_season_23_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_23_url) }" collection_season_23_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_23_url) }"
collection_season_24_url: "" collection_season_24_url: ""
collection_season_24_name: "Season 24" collection_season_24_name: "Season 24"
collection_season_24_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_24_url) }" collection_season_24_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_24_url) }"
collection_season_25_url: "" collection_season_25_url: ""
collection_season_25_name: "Season 25" collection_season_25_name: "Season 25"
collection_season_25_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_25_url) }" collection_season_25_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_25_url) }"
collection_season_26_url: "" collection_season_26_url: ""
collection_season_26_name: "Season 26" collection_season_26_name: "Season 26"
collection_season_26_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_26_url) }" collection_season_26_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_26_url) }"
collection_season_27_url: "" collection_season_27_url: ""
collection_season_27_name: "Season 27" collection_season_27_name: "Season 27"
collection_season_27_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_27_url) }" collection_season_27_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_27_url) }"
collection_season_28_url: "" collection_season_28_url: ""
collection_season_28_name: "Season 28" collection_season_28_name: "Season 28"
collection_season_28_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_28_url) }" collection_season_28_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_28_url) }"
collection_season_29_url: "" collection_season_29_url: ""
collection_season_29_name: "Season 29" collection_season_29_name: "Season 29"
collection_season_29_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_29_url) }" collection_season_29_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_29_url) }"
collection_season_30_url: "" collection_season_30_url: ""
collection_season_30_name: "Season 30" collection_season_30_name: "Season 30"
collection_season_30_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_30_url) }" collection_season_30_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_30_url) }"
collection_season_31_url: "" collection_season_31_url: ""
collection_season_31_name: "Season 31" collection_season_31_name: "Season 31"
collection_season_31_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_31_url) }" collection_season_31_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_31_url) }"
collection_season_32_url: "" collection_season_32_url: ""
collection_season_32_name: "Season 32" collection_season_32_name: "Season 32"
collection_season_32_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_32_url) }" collection_season_32_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_32_url) }"
collection_season_33_url: "" collection_season_33_url: ""
collection_season_33_name: "Season 33" collection_season_33_name: "Season 33"
collection_season_33_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_33_url) }" collection_season_33_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_33_url) }"
collection_season_34_url: "" collection_season_34_url: ""
collection_season_34_name: "Season 34" collection_season_34_name: "Season 34"
collection_season_34_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_34_url) }" collection_season_34_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_34_url) }"
collection_season_35_url: "" collection_season_35_url: ""
collection_season_35_name: "Season 35" collection_season_35_name: "Season 35"
collection_season_35_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_35_url) }" collection_season_35_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_35_url) }"
collection_season_36_url: "" collection_season_36_url: ""
collection_season_36_name: "Season 36" collection_season_36_name: "Season 36"
collection_season_36_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_36_url) }" collection_season_36_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_36_url) }"
collection_season_37_url: "" collection_season_37_url: ""
collection_season_37_name: "Season 37" collection_season_37_name: "Season 37"
collection_season_37_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_37_url) }" collection_season_37_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_37_url) }"
collection_season_38_url: "" collection_season_38_url: ""
collection_season_38_name: "Season 38" collection_season_38_name: "Season 38"
collection_season_38_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_38_url) }" collection_season_38_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_38_url) }"
collection_season_39_url: "" collection_season_39_url: ""
collection_season_39_name: "Season 39" collection_season_39_name: "Season 39"
collection_season_39_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_39_url) }" collection_season_39_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_39_url) }"
collection_season_40_url: "" collection_season_40_url: ""
collection_season_40_name: "Season 40" collection_season_40_name: "Season 40"
collection_season_40_ordered_by_newest: "{ %is_playlist_ordered_by_newest(collection_season_40_url) }" collection_season_40_extract_bilaterally: "{ %is_bilateral_playlist_url(collection_season_40_url) }"
kodi_tv_show_collection: kodi_tv_show_collection:
preset: preset:
@ -166,8 +166,7 @@ presets:
uid: "avatar_uncropped" uid: "avatar_uncropped"
- name: "{tv_show_fanart_file_name}" - name: "{tv_show_fanart_file_name}"
uid: "banner_uncropped" uid: "banner_uncropped"
scrape_reverse: "{%not( collection_season_1_ordered_by_newest )}" extract_bilaterally: "collection_season_1_extract_bilaterally"
download_reverse: "collection_season_1_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -185,8 +184,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_2_ordered_by_newest )}" extract_bilaterally: "collection_season_2_extract_bilaterally"
download_reverse: "collection_season_2_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -204,8 +202,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_3_ordered_by_newest )}" extract_bilaterally: "collection_season_3_extract_bilaterally"
download_reverse: "collection_season_3_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -223,8 +220,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_4_ordered_by_newest )}" extract_bilaterally: "collection_season_4_extract_bilaterally"
download_reverse: "collection_season_4_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -242,8 +238,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_5_ordered_by_newest )}" extract_bilaterally: "collection_season_5_extract_bilaterally"
download_reverse: "collection_season_5_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -261,8 +256,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_6_ordered_by_newest )}" extract_bilaterally: "collection_season_6_extract_bilaterally"
download_reverse: "collection_season_6_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -280,8 +274,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_7_ordered_by_newest )}" extract_bilaterally: "collection_season_7_extract_bilaterally"
download_reverse: "collection_season_7_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -299,8 +292,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_8_ordered_by_newest )}" extract_bilaterally: "collection_season_8_extract_bilaterally"
download_reverse: "collection_season_8_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -318,8 +310,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_9_ordered_by_newest )}" extract_bilaterally: "collection_season_9_extract_bilaterally"
download_reverse: "collection_season_9_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -337,8 +328,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_10_ordered_by_newest )}" extract_bilaterally: "collection_season_10_extract_bilaterally"
download_reverse: "collection_season_10_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -356,8 +346,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_11_ordered_by_newest )}" extract_bilaterally: "collection_season_11_extract_bilaterally"
download_reverse: "collection_season_11_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -375,8 +364,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_12_ordered_by_newest )}" extract_bilaterally: "collection_season_12_extract_bilaterally"
download_reverse: "collection_season_12_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -394,8 +382,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_13_ordered_by_newest )}" extract_bilaterally: "collection_season_13_extract_bilaterally"
download_reverse: "collection_season_13_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -413,8 +400,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_14_ordered_by_newest )}" extract_bilaterally: "collection_season_14_extract_bilaterally"
download_reverse: "collection_season_14_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -432,8 +418,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_15_ordered_by_newest )}" extract_bilaterally: "collection_season_15_extract_bilaterally"
download_reverse: "collection_season_15_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -451,8 +436,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_16_ordered_by_newest )}" extract_bilaterally: "collection_season_16_extract_bilaterally"
download_reverse: "collection_season_16_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -470,8 +454,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_17_ordered_by_newest )}" extract_bilaterally: "collection_season_17_extract_bilaterally"
download_reverse: "collection_season_17_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -489,8 +472,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_18_ordered_by_newest )}" extract_bilaterally: "collection_season_18_extract_bilaterally"
download_reverse: "collection_season_18_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -508,8 +490,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_19_ordered_by_newest )}" extract_bilaterally: "collection_season_19_extract_bilaterally"
download_reverse: "collection_season_19_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -527,8 +508,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_20_ordered_by_newest )}" extract_bilaterally: "collection_season_20_extract_bilaterally"
download_reverse: "collection_season_20_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -546,8 +526,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_21_ordered_by_newest )}" extract_bilaterally: "collection_season_21_extract_bilaterally"
download_reverse: "collection_season_21_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -565,8 +544,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_22_ordered_by_newest )}" extract_bilaterally: "collection_season_22_extract_bilaterally"
download_reverse: "collection_season_22_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -584,8 +562,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_23_ordered_by_newest )}" extract_bilaterally: "collection_season_23_extract_bilaterally"
download_reverse: "collection_season_23_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -603,8 +580,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_24_ordered_by_newest )}" extract_bilaterally: "collection_season_24_extract_bilaterally"
download_reverse: "collection_season_24_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -622,8 +598,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_25_ordered_by_newest )}" extract_bilaterally: "collection_season_25_extract_bilaterally"
download_reverse: "collection_season_25_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -641,8 +616,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_26_ordered_by_newest )}" extract_bilaterally: "collection_season_26_extract_bilaterally"
download_reverse: "collection_season_26_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -660,8 +634,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_27_ordered_by_newest )}" extract_bilaterally: "collection_season_27_extract_bilaterally"
download_reverse: "collection_season_27_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -679,8 +652,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_28_ordered_by_newest )}" extract_bilaterally: "collection_season_28_extract_bilaterally"
download_reverse: "collection_season_28_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -698,8 +670,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_29_ordered_by_newest )}" extract_bilaterally: "collection_season_29_extract_bilaterally"
download_reverse: "collection_season_29_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -717,8 +688,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_30_ordered_by_newest )}" extract_bilaterally: "collection_season_30_extract_bilaterally"
download_reverse: "collection_season_30_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -736,8 +706,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_31_ordered_by_newest )}" extract_bilaterally: "collection_season_31_extract_bilaterally"
download_reverse: "collection_season_31_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -755,8 +724,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_32_ordered_by_newest )}" extract_bilaterally: "collection_season_32_extract_bilaterally"
download_reverse: "collection_season_32_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -774,8 +742,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_33_ordered_by_newest )}" extract_bilaterally: "collection_season_33_extract_bilaterally"
download_reverse: "collection_season_33_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -793,8 +760,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_34_ordered_by_newest )}" extract_bilaterally: "collection_season_34_extract_bilaterally"
download_reverse: "collection_season_34_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -812,8 +778,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_35_ordered_by_newest )}" extract_bilaterally: "collection_season_35_extract_bilaterally"
download_reverse: "collection_season_35_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -831,8 +796,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_36_ordered_by_newest )}" extract_bilaterally: "collection_season_36_extract_bilaterally"
download_reverse: "collection_season_36_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -850,8 +814,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_37_ordered_by_newest )}" extract_bilaterally: "collection_season_37_extract_bilaterally"
download_reverse: "collection_season_37_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -869,8 +832,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_38_ordered_by_newest )}" extract_bilaterally: "collection_season_38_extract_bilaterally"
download_reverse: "collection_season_38_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -888,8 +850,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_39_ordered_by_newest )}" extract_bilaterally: "collection_season_39_extract_bilaterally"
download_reverse: "collection_season_39_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags:
@ -907,8 +868,7 @@ presets:
playlist_thumbnails: playlist_thumbnails:
- name: "{season_poster_file_name}" - name: "{season_poster_file_name}"
uid: "latest_entry" uid: "latest_entry"
scrape_reverse: "{%not( collection_season_40_ordered_by_newest )}" extract_bilaterally: "collection_season_40_extract_bilaterally"
download_reverse: "collection_season_40_ordered_by_newest"
output_directory_nfo_tags: output_directory_nfo_tags:
tags: tags: