Exemple #1
0
 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
Exemple #2
0
def test_tvmaze_show_episodes_list__success():
    results = tvmaze_show_episodes_list(META["id_tvmaze"])
    assert results
    result = results[0]
    for expected_episode_key in EXPECTED_EPISODE_KEYS:
        assert expected_episode_key in result
    for actual_key in result:
        assert actual_key in EXPECTED_EPISODE_KEYS
Exemple #3
0
 def _search(self, series: str, season: Optional[int],
             episode: Optional[int]) -> Iterator[MetadataEpisode]:
     assert series
     series_data = tvmaze_show_search(series)
     for idx, series_entry in enumerate(series_data):
         if idx >= 3:
             break
         series_entry = series_entry["show"]
         id_tvmaze = series_entry["id"]
         episode_data = tvmaze_show_episodes_list(id_tvmaze)
         for episode_entry in episode_data:
             id_tvdb = series_entry["externals"]["thetvdb"]
             meta = self._transform_meta(id_tvmaze, id_tvdb, series_entry,
                                         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 test_tvmaze_show_episodes_list__no_hits():
    with pytest.raises(MnamerNotFoundException):
        tvmaze_show_episodes_list(JUNK_TEXT)