underscores
This commit is contained in:
parent
677214db64
commit
efed7057f9
6 changed files with 52 additions and 52 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
presets:
|
presets:
|
||||||
|
|
||||||
kodi-safe-nfo:
|
kodi_safe_nfo:
|
||||||
nfo_tags:
|
nfo_tags:
|
||||||
kodi_safe: True
|
kodi_safe: True
|
||||||
output_directory_nfo_tags:
|
output_directory_nfo_tags:
|
||||||
|
|
|
||||||
|
|
@ -17,18 +17,18 @@ class PrebuiltPresets:
|
||||||
Kodi TV Show with seasons as years, episodes ordered by upload date
|
Kodi TV Show with seasons as years, episodes ordered by upload date
|
||||||
"""
|
"""
|
||||||
return self._preset(
|
return self._preset(
|
||||||
name=name, presets=["tv-show-url", "season-by-year--episode-by-month-day"]
|
name=name, presets=["tv_show_url", "season_by_year__episode_by_month_day"]
|
||||||
)
|
)
|
||||||
|
|
||||||
def _tv_show_youtube_channel(self, name: str) -> Preset:
|
def _tv_show_youtube_channel(self, name: str) -> Preset:
|
||||||
return self._preset(
|
return self._preset(
|
||||||
name=name, presets=["tv-show-youtube-channel", "season-by-year--episode-by-month-day"]
|
name=name, presets=["tv_show_youtube_channel", "season_by_year__episode_by_month_day"]
|
||||||
)
|
)
|
||||||
|
|
||||||
def _tv_show_collection(self, name: str) -> Preset:
|
def _tv_show_collection(self, name: str) -> Preset:
|
||||||
return self._preset(
|
return self._preset(
|
||||||
name=name,
|
name=name,
|
||||||
presets=["tv-show-collection", "season-by-collection--episode-by-year-month-day"],
|
presets=["tv_show_collection", "season_by_collection__episode_by_year_month_day"],
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -53,7 +53,7 @@ class PrebuiltPresets:
|
||||||
|
|
||||||
|
|
||||||
class PrebuiltKodiTVShowPresets(PrebuiltPresets):
|
class PrebuiltKodiTVShowPresets(PrebuiltPresets):
|
||||||
BASE_PRESET = "kodi-tv-show"
|
BASE_PRESET = "kodi_tv_show"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def kodi_tv_show_url(self) -> Preset:
|
def kodi_tv_show_url(self) -> Preset:
|
||||||
|
|
@ -78,7 +78,7 @@ class PrebuiltKodiTVShowPresets(PrebuiltPresets):
|
||||||
|
|
||||||
|
|
||||||
class PrebuiltJellyfinTVShowPresets(PrebuiltPresets):
|
class PrebuiltJellyfinTVShowPresets(PrebuiltPresets):
|
||||||
BASE_PRESET = "jellyfin-tv-show"
|
BASE_PRESET = "jellyfin_tv_show"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def jellyfin_tv_show_url(self) -> Preset:
|
def jellyfin_tv_show_url(self) -> Preset:
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ presets:
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
episode-base:
|
episode_base:
|
||||||
output_options:
|
output_options:
|
||||||
output_directory: "{tv_show_directory}/{tv_show_name_sanitized}"
|
output_directory: "{tv_show_directory}/{tv_show_name_sanitized}"
|
||||||
file_name: "{episode_file_path}.{ext}"
|
file_name: "{episode_file_path}.{ext}"
|
||||||
|
|
@ -31,62 +31,62 @@ presets:
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
season-by-year:
|
season_by_year:
|
||||||
overrides:
|
overrides:
|
||||||
season_number: "{upload_year}"
|
season_number: "{upload_year}"
|
||||||
season_number_padded: "{season_number}"
|
season_number_padded: "{season_number}"
|
||||||
|
|
||||||
season-by-year-month:
|
season_by_year_month:
|
||||||
overrides:
|
overrides:
|
||||||
season_number: "{upload_year}{upload_month_padded}"
|
season_number: "{upload_year}{upload_month_padded}"
|
||||||
season_number_padded: "{season_number}"
|
season_number_padded: "{season_number}"
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
season-by-year-month--episode-by-day:
|
season_by_year_month__episode_by_day:
|
||||||
preset:
|
preset:
|
||||||
- "episode-base"
|
- "episode_base"
|
||||||
- "season-by-year-month"
|
- "season_by_year_month"
|
||||||
overrides:
|
overrides:
|
||||||
episode_number: "{upload_day}"
|
episode_number: "{upload_day}"
|
||||||
episode_number_padded: "{upload_day_padded}"
|
episode_number_padded: "{upload_day_padded}"
|
||||||
|
|
||||||
season-by-year--episode-by-month-day:
|
season_by_year__episode_by_month_day:
|
||||||
preset:
|
preset:
|
||||||
- "episode-base"
|
- "episode_base"
|
||||||
- "season-by-year"
|
- "season_by_year"
|
||||||
overrides:
|
overrides:
|
||||||
episode_number: "{upload_month}{upload_day_padded}{episode_number_suffix}"
|
episode_number: "{upload_month}{upload_day_padded}{episode_number_suffix}"
|
||||||
episode_number_padded: "{upload_month_padded}{upload_day_padded}{episode_number_suffix}"
|
episode_number_padded: "{upload_month_padded}{upload_day_padded}{episode_number_suffix}"
|
||||||
|
|
||||||
season-by-year--episode-by-month-day-reversed:
|
season_by_year__episode_by_month_day_reversed:
|
||||||
preset:
|
preset:
|
||||||
- "episode-base"
|
- "episode_base"
|
||||||
- "season-by-year"
|
- "season_by_year"
|
||||||
overrides:
|
overrides:
|
||||||
episode_number: "{upload_day_of_year_reversed}{episode_number_suffix}"
|
episode_number: "{upload_day_of_year_reversed}{episode_number_suffix}"
|
||||||
episode_number_padded: "{upload_day_of_year_reversed_padded}{episode_number_suffix}"
|
episode_number_padded: "{upload_day_of_year_reversed_padded}{episode_number_suffix}"
|
||||||
|
|
||||||
season-by-collection--episode-by-year-month-day:
|
season_by_collection__episode_by_year_month_day:
|
||||||
preset:
|
preset:
|
||||||
- "episode-base"
|
- "episode_base"
|
||||||
overrides:
|
overrides:
|
||||||
episode_number: "{upload_year_truncated}{upload_month_padded}{upload_day_padded}{episode_number_suffix}"
|
episode_number: "{upload_year_truncated}{upload_month_padded}{upload_day_padded}{episode_number_suffix}"
|
||||||
episode_number_padded: "{episode_number}"
|
episode_number_padded: "{episode_number}"
|
||||||
|
|
||||||
season-by-collection--episode-by-year-month-day-reversed:
|
season_by_collection__episode_by_year_month_day_reversed:
|
||||||
preset:
|
preset:
|
||||||
- "episode-base"
|
- "episode_base"
|
||||||
overrides:
|
overrides:
|
||||||
episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{episode_number_suffix}"
|
episode_number: "{upload_year_truncated_reversed}{upload_month_reversed_padded}{upload_day_reversed_padded}{episode_number_suffix}"
|
||||||
episode_number_padded: "{episode_number}"
|
episode_number_padded: "{episode_number}"
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
episode-add-hour-granularity:
|
episode_add_hour_granularity:
|
||||||
overrides:
|
overrides:
|
||||||
episode_number_suffix: "{epoch_hour}{playlist_index_reversed_padded6}"
|
episode_number_suffix: "{epoch_hour}{playlist_index_reversed_padded6}"
|
||||||
|
|
||||||
episode-add-hour-granularity-reversed:
|
episode_add_hour_granularity_reversed:
|
||||||
overrides:
|
overrides:
|
||||||
episode_number_suffix: "{epoch_hour}{playlist_index_padded6}"
|
episode_number_suffix: "{epoch_hour}{playlist_index_padded6}"
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
presets:
|
presets:
|
||||||
|
|
||||||
plex-tv-show:
|
plex_tv_show:
|
||||||
overrides:
|
overrides:
|
||||||
tv_show_poster_file_name: "show.jpg"
|
tv_show_poster_file_name: "show.jpg"
|
||||||
tv_show_fanart_file_name: "fanart.jpg"
|
tv_show_fanart_file_name: "fanart.jpg"
|
||||||
season_poster_file_name: "Season{season_number_padded}.jpg"
|
season_poster_file_name: "Season{season_number_padded}.jpg"
|
||||||
|
|
||||||
jellyfin-tv-show:
|
jellyfin_tv_show:
|
||||||
overrides:
|
overrides:
|
||||||
tv_show_poster_file_name: "poster.jpg"
|
tv_show_poster_file_name: "poster.jpg"
|
||||||
tv_show_fanart_file_name: "fanart.jpg"
|
tv_show_fanart_file_name: "fanart.jpg"
|
||||||
|
|
@ -29,7 +29,7 @@ presets:
|
||||||
tags:
|
tags:
|
||||||
title: "{tv_show_name}"
|
title: "{tv_show_name}"
|
||||||
|
|
||||||
kodi-tv-show:
|
kodi_tv_show:
|
||||||
preset:
|
preset:
|
||||||
- "jellyfin-tv-show"
|
- "jellyfin_tv_show"
|
||||||
- "kodi-safe-nfo"
|
- "kodi_safe_nfo"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ presets:
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
# TV show from any single source. Uses latest entry's thumbnail as tv show poster
|
# TV show from any single source. Uses latest entry's thumbnail as tv show poster
|
||||||
tv-show-url:
|
tv_show_url:
|
||||||
generic:
|
generic:
|
||||||
download_strategy: "source"
|
download_strategy: "source"
|
||||||
url: "{url}"
|
url: "{url}"
|
||||||
|
|
@ -14,7 +14,7 @@ presets:
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
# TV show from a single YouTube channel. Uses avatar and banner as poster and fanart.
|
# TV show from a single YouTube channel. Uses avatar and banner as poster and fanart.
|
||||||
tv-show-youtube-channel:
|
tv_show_youtube_channel:
|
||||||
generic:
|
generic:
|
||||||
download_strategy: "source"
|
download_strategy: "source"
|
||||||
url: "{url}"
|
url: "{url}"
|
||||||
|
|
@ -26,9 +26,9 @@ presets:
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
# TV show from a collection. Must specify additional `tv-show-collection-season` presets in
|
# TV show from a collection. Must specify additional `tv_show_collection_season` presets in
|
||||||
# addition. Each season sets its own `collection_season_number/_padded`
|
# addition. Each season sets its own `collection_season_number/_padded`
|
||||||
tv-show-collection:
|
tv_show_collection:
|
||||||
generic:
|
generic:
|
||||||
download_strategy: "collection"
|
download_strategy: "collection"
|
||||||
|
|
||||||
|
|
@ -36,7 +36,7 @@ presets:
|
||||||
season_number: "{collection_season_number}"
|
season_number: "{collection_season_number}"
|
||||||
season_number_padded: "{collection_season_number_padded}"
|
season_number_padded: "{collection_season_number_padded}"
|
||||||
|
|
||||||
tv-show-collection-season-1-youtube-channel:
|
tv_show_collection_season_1_youtube_channel:
|
||||||
generic:
|
generic:
|
||||||
urls:
|
urls:
|
||||||
- url: "{collection_season_1_url}"
|
- url: "{collection_season_1_url}"
|
||||||
|
|
@ -58,7 +58,7 @@ presets:
|
||||||
attributes:
|
attributes:
|
||||||
number: "1"
|
number: "1"
|
||||||
|
|
||||||
tv-show-collection-season-1:
|
tv_show_collection_season_1:
|
||||||
generic:
|
generic:
|
||||||
urls:
|
urls:
|
||||||
- url: "{collection_season_1_url}"
|
- url: "{collection_season_1_url}"
|
||||||
|
|
@ -76,7 +76,7 @@ presets:
|
||||||
attributes:
|
attributes:
|
||||||
number: "1"
|
number: "1"
|
||||||
|
|
||||||
tv-show-collection-season-2:
|
tv_show_collection_season_2:
|
||||||
generic:
|
generic:
|
||||||
urls:
|
urls:
|
||||||
- url: "{collection_season_2_url}"
|
- url: "{collection_season_2_url}"
|
||||||
|
|
@ -94,7 +94,7 @@ presets:
|
||||||
attributes:
|
attributes:
|
||||||
number: "2"
|
number: "2"
|
||||||
|
|
||||||
tv-show-collection-season-3:
|
tv_show_collection_season_3:
|
||||||
generic:
|
generic:
|
||||||
urls:
|
urls:
|
||||||
- url: "{collection_season_3_url}"
|
- url: "{collection_season_3_url}"
|
||||||
|
|
@ -112,7 +112,7 @@ presets:
|
||||||
attributes:
|
attributes:
|
||||||
number: "3"
|
number: "3"
|
||||||
|
|
||||||
tv-show-collection-season-4:
|
tv_show_collection_season_4:
|
||||||
generic:
|
generic:
|
||||||
urls:
|
urls:
|
||||||
- url: "{collection_season_4_url}"
|
- url: "{collection_season_4_url}"
|
||||||
|
|
@ -130,7 +130,7 @@ presets:
|
||||||
attributes:
|
attributes:
|
||||||
number: "4"
|
number: "4"
|
||||||
|
|
||||||
tv-show-collection-season-5:
|
tv_show_collection_season_5:
|
||||||
generic:
|
generic:
|
||||||
urls:
|
urls:
|
||||||
- url: "{collection_season_5_url}"
|
- url: "{collection_season_5_url}"
|
||||||
|
|
|
||||||
|
|
@ -27,17 +27,17 @@ class TestPrebuiltTVShowPresets:
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"tv_show_structure_preset",
|
"tv_show_structure_preset",
|
||||||
[
|
[
|
||||||
"season-by-year-month--episode-by-day",
|
"season_by_year_month__episode_by_day",
|
||||||
"season-by-year--episode-by-month-day",
|
"season_by_year__episode_by_month_day",
|
||||||
"season-by-year--episode-by-month-day-reversed",
|
"season_by_year__episode_by_month_day_reversed",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"episode_hour_granularity_preset",
|
"episode_hour_granularity_preset",
|
||||||
[
|
[
|
||||||
None,
|
None,
|
||||||
"episode-add-hour-granularity",
|
"episode_add_hour_granularity",
|
||||||
"episode-add-hour-granularity-reversed",
|
"episode_add_hour_granularity_reversed",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_non_collection_presets_compile(
|
def test_non_collection_presets_compile(
|
||||||
|
|
@ -53,7 +53,7 @@ class TestPrebuiltTVShowPresets:
|
||||||
|
|
||||||
preset = Preset.from_dict(
|
preset = Preset.from_dict(
|
||||||
config=config,
|
config=config,
|
||||||
preset_name=f"{media_player_preset}-test",
|
preset_name=f"{media_player_preset}_test",
|
||||||
preset_dict={
|
preset_dict={
|
||||||
"preset": parent_presets,
|
"preset": parent_presets,
|
||||||
"overrides": {
|
"overrides": {
|
||||||
|
|
@ -75,16 +75,16 @@ class TestPrebuiltTVShowPresets:
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"tv_show_structure_preset",
|
"tv_show_structure_preset",
|
||||||
[
|
[
|
||||||
"season-by-collection--episode-by-year-month-day",
|
"season_by_collection__episode_by_year_month_day",
|
||||||
"season-by-collection--episode-by-year-month-day-reversed",
|
"season_by_collection__episode_by_year_month_day_reversed",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"episode_hour_granularity_preset",
|
"episode_hour_granularity_preset",
|
||||||
[
|
[
|
||||||
None,
|
None,
|
||||||
"episode-add-hour-granularity",
|
"episode_add_hour_granularity",
|
||||||
"episode-add-hour-granularity-reversed",
|
"episode_add_hour_granularity_reversed",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@pytest.mark.parametrize("season_indices", [[1], [1, 2, 3, 4, 5]])
|
@pytest.mark.parametrize("season_indices", [[1], [1, 2, 3, 4, 5]])
|
||||||
|
|
@ -104,9 +104,9 @@ class TestPrebuiltTVShowPresets:
|
||||||
|
|
||||||
overrides: Dict[str, str] = {}
|
overrides: Dict[str, str] = {}
|
||||||
for season_index in season_indices:
|
for season_index in season_indices:
|
||||||
parent_presets.append(f"tv-show-collection-season-{season_index}")
|
parent_presets.append(f"tv_show_collection_season_{season_index}")
|
||||||
if season_index == 1 and is_season_1_youtube_channel:
|
if season_index == 1 and is_season_1_youtube_channel:
|
||||||
parent_presets[-1] += "-youtube-channel"
|
parent_presets[-1] += "_youtube_channel"
|
||||||
|
|
||||||
overrides = dict(
|
overrides = dict(
|
||||||
overrides,
|
overrides,
|
||||||
|
|
@ -118,7 +118,7 @@ class TestPrebuiltTVShowPresets:
|
||||||
|
|
||||||
preset = Preset.from_dict(
|
preset = Preset.from_dict(
|
||||||
config=config,
|
config=config,
|
||||||
preset_name=f"{media_player_preset}-test",
|
preset_name=f"{media_player_preset}_test",
|
||||||
preset_dict={
|
preset_dict={
|
||||||
"preset": parent_presets,
|
"preset": parent_presets,
|
||||||
"overrides": dict(
|
"overrides": dict(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue