From fb98340fbbd34084115e141ef39d09a3d4bd08b9 Mon Sep 17 00:00:00 2001 From: twolaw Date: Sat, 22 Oct 2022 11:43:49 +0200 Subject: [PATCH 1/2] add show_id attribute to TVEpisode found from search --- trakt/sync.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/trakt/sync.py b/trakt/sync.py index c4bf7cfe..9f55987b 100644 --- a/trakt/sync.py +++ b/trakt/sync.py @@ -221,6 +221,7 @@ def get_search_results(query, search_type=None, slugify_query=False): from trakt.tv import TVEpisode show = media_item.pop('show') result.media = TVEpisode(show.get('title', None), + show_id=show['ids'].get('trakt'), **media_item.pop('episode')) elif media_item['type'] == 'person': from trakt.people import Person @@ -286,7 +287,9 @@ def search_by_id(query, id_type='imdb', media_type=None, slugify_query=False): from trakt.tv import TVEpisode show = d.pop('show') extract_ids(d['episode']) - results.append(TVEpisode(show.get('title', None), **d['episode'])) + results.append(TVEpisode(show.get('title', None), + show_id=show['ids'].get('trakt'), + **d.pop('episode'))) elif 'movie' in d: from trakt.movies import Movie results.append(Movie(**d.pop('movie'))) From da02d9575bf5e208236ed24a507e2ba75da9204b Mon Sep 17 00:00:00 2001 From: twolaw Date: Sun, 23 Oct 2022 14:51:26 +0200 Subject: [PATCH 2/2] uses show_id instead of slug when available --- trakt/tv.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/trakt/tv.py b/trakt/tv.py index 9c60d9f1..9b3c04ca 100644 --- a/trakt/tv.py +++ b/trakt/tv.py @@ -694,8 +694,11 @@ def comments(self): @property def ext(self): + show_id = getattr(self, "show_id", None) + if not show_id: + show_id = slugify(self.show) return 'shows/{id}/seasons/{season}/episodes/{episode}'.format( - id=slugify(self.show), season=self.season, episode=self.number + id=show_id, season=self.season, episode=self.number ) @property