diff --git a/plextraktsync/media.py b/plextraktsync/media.py index 1a8ac8539eb..5314d2ba7f1 100644 --- a/plextraktsync/media.py +++ b/plextraktsync/media.py @@ -284,6 +284,9 @@ def resolve_trakt(self, tm: TraktItem) -> Media: """Find Plex media from Trakt id using Plex Search and Discover""" result = self.plex.search_online(tm.item.title, tm.type) pm = self._guid_match(result, tm) + if pm is None: + logger.warning(f"Skipping '{tm.item.title}': not found on Plex Discover") + return None return self.make_media(pm, tm.item) def make_media(self, plex: PlexLibraryItem, trakt): diff --git a/plextraktsync/sync.py b/plextraktsync/sync.py index ed22dedc0f6..e66d9865c0f 100644 --- a/plextraktsync/sync.py +++ b/plextraktsync/sync.py @@ -91,9 +91,10 @@ def sync(self, walker: Walker, dry_run=False): sync_items.append(tm) remaining_movies_ids.remove(tm.trakt) for movie in walker.media_from_traktlist(sync_items, title="Trakt watched movies"): - self.sync_watched(movie, dry_run=dry_run) - # Rating medias from Plex Discover not implemented yet https://github.com/pkkid/python-plexapi/issues/1137 - # self.sync_ratings(movie, dry_run=dry_run) + if movie is not None: + self.sync_watched(movie, dry_run=dry_run) + # Rating medias from Plex Discover not implemented yet https://github.com/pkkid/python-plexapi/issues/1137 + # self.sync_ratings(movie, dry_run=dry_run) shows = set() episode_trakt_ids = set()