diff --git a/trakt/sync.py b/trakt/sync.py index 8881c42..3eaa74c 100644 --- a/trakt/sync.py +++ b/trakt/sync.py @@ -288,19 +288,26 @@ def search_by_id(query, id_type='imdb', media_type=None, slugify_query=False): if 'episode' in d: from trakt.tv import TVEpisode show = d.pop('show') - extract_ids(d['episode']) - results.append(TVEpisode(show.get('title', None), - show_id=show['ids'].get('trakt'), - **d.pop('episode'))) + extract_ids(show) + episode = d.pop('episode') + extract_ids(episode) + episode = TVEpisode(show['title'], **episode, show_id=show['trakt']) + results.append(episode) elif 'movie' in d: from trakt.movies import Movie - results.append(Movie(**d.pop('movie'))) + movie = d.pop('movie') + extract_ids(movie) + results.append(Movie(**movie)) elif 'show' in d: from trakt.tv import TVShow - results.append(TVShow(**d.pop('show'))) + show = d.pop('show') + extract_ids(show) + results.append(TVShow(**show)) elif 'person' in d: from trakt.people import Person - results.append(Person(**d.pop('person'))) + person = d.pop('person') + extract_ids(person) + results.append(Person(**person)) yield results diff --git a/trakt/users.py b/trakt/users.py index 60a4b86..600b768 100644 --- a/trakt/users.py +++ b/trakt/users.py @@ -132,27 +132,28 @@ def get_items(self): item_data = item.pop(item_type) extract_ids(item_data) if item_type == 'movie': - self._items.append(Movie(item_data['title'], item_data['year'], - item_data['slug'])) + extract_ids(item_data) + movie = Movie(**item_data) + self._items.append(movie) elif item_type == 'show': - self._items.append(TVShow(item_data['title'], - item_data['slug'])) + extract_ids(item_data) + show = TVShow(**item_data) + self._items.append(show) elif item_type == 'season': show_data = item.pop('show') extract_ids(show_data) - season = TVSeason(show_data['title'], item_data['number'], - show_data['slug']) + title = show_data.pop('title') + season = TVSeason(title, item_data['number'], **show_data) self._items.append(season) elif item_type == 'episode': show_data = item.pop('show') extract_ids(show_data) - episode = TVEpisode(show_data['title'], item_data['season'], - item_data['number'], - show_id=show_data['trakt']) + extract_ids(item_data) + episode = TVEpisode(show_data['title'], **item_data, show_id=show_data['trakt']) self._items.append(episode) elif item_type == 'person': - self._items.append(Person(item_data['name'], - item_data['slug'])) + extract_ids(item_data) + self._items.append(Person(**item_data)) yield self._items