def test_tvmaze_show_lookup__tvdb__success(): result = tvmaze_show_lookup(id_tvdb=META["id_tvdb"]) assert result for expected_show_key in EXPECTED_SHOW_KEYS: assert expected_show_key in result assert result["id"] == META["id_tvmaze"] assert result["name"] == META["series"]
def _lookup_with_id( self, id_tvmaze: Optional[str], id_tvdb: Optional[str], season: Optional[int], episode: Optional[int], ) -> Iterator[MetadataEpisode]: assert id_tvmaze or id_tvdb if id_tvmaze: query_id_tvmaze = id_tvmaze series_data = tvmaze_show(id_tvmaze) query_id_tvdb = series_data["externals"]["thetvdb"] else: series_data = tvmaze_show_lookup(id_tvdb=id_tvdb) query_id_tvdb = id_tvdb query_id_tvmaze = series_data["id"] episode_data = tvmaze_show_episodes_list(query_id_tvmaze) for episode_entry in episode_data: meta = self._transform_meta(query_id_tvmaze, query_id_tvdb, series_data, episode_entry) if season is not None and season != meta.season: continue if episode is not None and episode != meta.episode: continue yield meta
def _lookup_with_id_and_date( self, id_tvmaze: Optional[str], id_tvdb: Optional[str], air_date: date) -> Generator[MetadataEpisode, None, None]: assert id_tvmaze or id_tvdb if id_tvmaze: series_data = tvmaze_show(id_tvmaze) id_tvdb = series_data["externals"]["thetvdb"] else: series_data = tvmaze_show_lookup(id_tvdb=id_tvdb) id_tvmaze = series_data["id"] episode_data = tvmaze_episodes_by_date(id_tvmaze, air_date) for episode_entry in episode_data: yield self._transform_meta(id_tvmaze, id_tvdb, series_data, episode_entry)
def test_tvmaze_show_lookup__both_ids(): with pytest.raises(MnamerException): tvmaze_show_lookup(id_imdb=META["id_imdb"], id_tvdb=META["id_tvdb"])
def test_tvmaze_show_lookup__missing_id(): with pytest.raises(MnamerException): tvmaze_show_lookup()
def test_tvmaze_show_lookup__tvdb__no_hits(): with pytest.raises(MnamerNotFoundException): tvmaze_show_lookup(id_tvdb=JUNK_TEXT)