def update_trakt(release_key): """ :param release_key: :type release_key: BaseReleaseKey|TVReleaseKey|TVDailyReleaseKey|MovieReleaseKey """ session = Session() media_info = None try: if release_key.media_type == constants.MEDIA_TV: if release_key.daily: info = trakt.show_episode_summary_daily( release_key.name, release_key.day, release_key.month, release_key.year ) else: info = trakt.show_episode_summary(release_key.name, release_key.season, release_key.episode) raise_unless(info, exceptions.ApiError, "Failed to fetch metadata for: {}".format(release_key)) media_info = _update_trakt_tv(session, info) elif release_key.media_type == constants.MEDIA_MOVIE: info = trakt.movie_summary(release_key.name) raise_unless(info, exceptions.ApiError, "Failed to fetch metadata for: {}".format(release_key)) media_info = _update_trakt_movie(session, info) else: return None session.commit() except DBAPIError as e: log.exception("Error querying media info") session.rollback() except exceptions.ApiError as e: log.warn(e.message) except Exception as e: log.exception("Could not update trakt info") return media_info
def test_movie_summary(self): with tapedeck.use_cassette(self.track("test_movie_summary"), before_record=strip_key): movie = trakt.movie_summary(self.movie) self.assertEqual(movie.get('imdb_id', ''), self.imdb_id)