def lazy_user_ratings_lookup(self, config, style, entry): """Does the ratings lookup for this entry and populates the entry fields.""" if style in ['show', 'episode', 'season']: lookup = lookup_series trakt_id = entry.get('trakt_show_id', eval_lazy=True) else: lookup = lookup_movie trakt_id = entry.get('trakt_movie_id', eval_lazy=True) with Session() as session: lookupargs = {'trakt_id': trakt_id, 'session': session} try: item = lookup(**lookupargs) if style in ['show', 'episode', 'season']: rating_style = style if style == 'show': rating_style = 'series' elif style == 'episode': rating_style = 'ep' # fetch episode data if style is not series if style in ['episode', 'season']: item = item.get_episode(entry['series_season'], entry['series_episode'], session) rating = ApiTrakt.user_ratings(style, item, entry.get('title'), username=config.get('username'), account=config.get('account')) entry['trakt_{}_user_rating'.format(rating_style)] = rating else: movie_rating = ApiTrakt.user_ratings(style, item, entry.get('title'), username=config.get('username'), account=config.get('account')) entry['trakt_movie_user_rating'] = movie_rating except LookupError as e: log.debug(e.args[0]) return entry