Skip to content

Commit

Permalink
Reorder overlays to episodes > seasons > shows.
Browse files Browse the repository at this point in the history
  • Loading branch information
YozoraXCII authored and meisnate12 committed Oct 22, 2024
1 parent 4cea31b commit 4f2a3f9
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 6 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Fixes an issue where Prime Video overlays/collections would not be built when th

# Bug Fixes
Fixed the `cast` search option for the `imdb_search` builder
Fixed an issue where season-level overlays would not work if the season had no image and the show-level image already had an overlay. As a result, episode overlays will now apply before season overlays, and season overlays will now apply before show overlays.
Fixes #2258 `imdb_list` sort was not being parsed correctly
Fixes `letterboxd_list` rating filter to use a 1-10 rating vs 1-100 to reflect how letterboxd ratings work on their website
Fixed the `ids_to_anidb` lookup for anime movies and shows
2 changes: 1 addition & 1 deletion modules/overlays.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def trakt_ratings():
raise Failed
return _trakt_ratings

for i, (over_key, (item, over_names)) in enumerate(sorted(key_to_overlays.items(), key=lambda io: self.library.get_item_sort_title(io[1][0])), 1):
for i, (over_key, (item, over_names)) in enumerate(sorted(key_to_overlays.items(), key=lambda io: self.library.get_item_sort_title(io[1][0], ep_first_order=True)), 1):
item_title = self.library.get_item_sort_title(item, atr="title")
try:
logger.ghost(f"Overlaying: {i}/{len(key_to_overlays)} {item_title}")
Expand Down
12 changes: 7 additions & 5 deletions modules/plex.py
Original file line number Diff line number Diff line change
Expand Up @@ -1640,15 +1640,17 @@ def _recur(sub, item_type_in=None):

return map_key, attrs

def get_item_sort_title(self, item_to_sort, atr="titleSort"):

def get_item_sort_title(self, item_to_sort, atr="titleSort", ep_first_order=False):
if isinstance(item_to_sort, Album):
return f"{getattr(item_to_sort.artist(), atr)} Album {getattr(item_to_sort, atr)}"
return f"{getattr(item_to_sort.artist(), atr)}{'1' if ep_first_order else ''} Album {getattr(item_to_sort, atr)}"
elif isinstance(item_to_sort, Season):
return f"{getattr(item_to_sort.show(), atr)} Season {item_to_sort.seasonNumber}"
return f"{getattr(item_to_sort.show(), atr)}{'1' if ep_first_order else ''} Season {item_to_sort.seasonNumber}"
elif isinstance(item_to_sort, Episode):
return f"{getattr(item_to_sort.show(), atr)} {item_to_sort.seasonEpisode.upper()}"
return f"{getattr(item_to_sort.show(), atr)}{'0' if ep_first_order else ''} {item_to_sort.seasonEpisode.upper()}"
else:
return getattr(item_to_sort, atr)
return f"{getattr(item_to_sort, atr)}{'2' if ep_first_order else ''}"


def split(self, text):
attribute, modifier = os.path.splitext(str(text).lower())
Expand Down

0 comments on commit 4f2a3f9

Please sign in to comment.