diff --git a/plextraktsync/plex_api.py b/plextraktsync/plex_api.py index 2ffeb671fce..ae11235b74a 100644 --- a/plextraktsync/plex_api.py +++ b/plextraktsync/plex_api.py @@ -402,7 +402,7 @@ def watch_progress(self, view_offset): def episodes(self): for ep in self._get_episodes(): - yield PlexLibraryItem(ep, plex=self.plex) + yield PlexLibraryItem(ep, show=self.item, plex=self.plex) @nocache @retry() diff --git a/plextraktsync/walker.py b/plextraktsync/walker.py index 85eab3f8e39..7b27c3c87b2 100644 --- a/plextraktsync/walker.py +++ b/plextraktsync/walker.py @@ -6,8 +6,7 @@ from plextraktsync.decorators.cached_property import cached_property from plextraktsync.decorators.measure_time import measure_time from plextraktsync.media import Media, MediaFactory -from plextraktsync.plex_api import (PlexApi, PlexGuid, PlexLibraryItem, - PlexLibrarySection) +from plextraktsync.plex_api import PlexApi, PlexLibraryItem, PlexLibrarySection from plextraktsync.trakt_api import TraktApi, TraktItem @@ -276,11 +275,12 @@ def walk_shows(self, shows: Set[Media], title="Processing Shows"): def get_plex_episodes(self, episodes: List[Episode]): it = self.progressbar(episodes, desc="Processing episodes") for pe in it: - guid = PlexGuid(pe.grandparentGuid, "show") - show = self.mf.resolve_guid(guid) + ps = self.plex.fetch_item(pe.grandparentKey) + show = self.mf.resolve_any(ps) if not show: continue - me = self.mf.resolve_any(PlexLibraryItem(pe, plex=self.plex), show) + pm = PlexLibraryItem(pe, show=ps.item, plex=self.plex) + me = self.mf.resolve_any(pm, show) if not me: continue