mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-22 12:33:10 +00:00
[97] allow shows to pull seasons and episodes for lower level collections
This commit is contained in:
parent
2589e764ca
commit
b5dc7b3582
4 changed files with 27 additions and 7 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
1.17.3-develop96
|
||||
1.17.3-develop97
|
||||
|
|
|
@ -33,6 +33,7 @@ templates:
|
|||
- use_<<key>>
|
||||
- time_window_<<key>>
|
||||
- location_<<key>>
|
||||
- overlay_level
|
||||
default:
|
||||
style: round
|
||||
overlay: <<overlay_name>>
|
||||
|
@ -59,6 +60,7 @@ templates:
|
|||
limit: 10
|
||||
limit_<<key>>: <<limit>>
|
||||
weight_<<key>>: <<weight>>
|
||||
overlay_level: <<overlay_level>>
|
||||
ignore_blank_results: true
|
||||
allowed_library_types: <<use_<<key>>>>
|
||||
overlay:
|
||||
|
|
|
@ -61,6 +61,7 @@ templates:
|
|||
back_radius: 30
|
||||
back_width: 305
|
||||
back_height: 105
|
||||
overlay_level: <<overlay_level>>
|
||||
allowed_library_types: <<use_<<slug>>>>
|
||||
ignore_blank_results: true
|
||||
overlay:
|
||||
|
|
|
@ -1692,7 +1692,8 @@ class CollectionBuilder:
|
|||
self.missing_parts.append(f"{show_item.title} Season: {season_num} Episode: {episode_num} Missing")
|
||||
if not found and tvdb_id not in self.missing_shows and self.do_missing:
|
||||
self.missing_shows.append(tvdb_id)
|
||||
elif id_type in ["tvdb", "tmdb_show", "tvdb_season", "tvdb_episode"] and not self.parts_collection:
|
||||
elif id_type in ["tvdb", "tmdb_show", "tvdb_season", "tvdb_episode"]:
|
||||
tvdb_season = None
|
||||
if id_type == "tmdb_show":
|
||||
try:
|
||||
tvdb_id = self.config.Convert.tmdb_to_tvdb(input_id, fail=True)
|
||||
|
@ -1700,22 +1701,38 @@ class CollectionBuilder:
|
|||
logger.warning(e)
|
||||
continue
|
||||
elif id_type == "tvdb_season":
|
||||
tvdb_id, _ = input_id.split("_")
|
||||
tvdb_id, tvdb_season = input_id.split("_")
|
||||
tvdb_id = int(tvdb_id)
|
||||
tvdb_season = int(tvdb_season)
|
||||
elif id_type == "tvdb_episode":
|
||||
tvdb_id, _, _ = input_id.split("_")
|
||||
tvdb_id = int(tvdb_id)
|
||||
else:
|
||||
tvdb_id = int(input_id)
|
||||
if tvdb_id not in self.ignore_ids:
|
||||
found = False
|
||||
found_keys = None
|
||||
for pl_library in self.libraries:
|
||||
if tvdb_id in pl_library.show_map:
|
||||
found = True
|
||||
rating_keys = pl_library.show_map[tvdb_id]
|
||||
found_keys = pl_library.show_map[tvdb_id]
|
||||
break
|
||||
if not found and tvdb_id not in self.missing_shows:
|
||||
if not found_keys and tvdb_id not in self.missing_shows:
|
||||
self.missing_shows.append(tvdb_id)
|
||||
if found_keys:
|
||||
if self.parts_collection:
|
||||
rating_keys = []
|
||||
for rk in found_keys:
|
||||
try:
|
||||
item = self.fetch_item(rk)
|
||||
if self.builder_level == "episode" and isinstance(item, Show):
|
||||
if tvdb_season is not None:
|
||||
item = item.season(season=tvdb_season)
|
||||
rating_keys.extend([k.ratingKey for k in item.episodes()])
|
||||
elif self.builder_level == "season" and isinstance(item, Show):
|
||||
rating_keys.extend([k.ratingKey for k in item.seasons()])
|
||||
except Failed as e:
|
||||
logger.error(e)
|
||||
else:
|
||||
rating_keys = found_keys
|
||||
else:
|
||||
continue
|
||||
|
||||
|
|
Loading…
Reference in a new issue