def test_search_series_and_season_and_episode(meta: dict, provider: TvMaze): query = MetadataEpisode(series=meta["series"], season=meta["season"], episode=meta["episode"]) results = list(provider.search(query)) assert results assert any(result.title == meta["title"] for result in results)
def test_search_id_tvmaze_and_episode(meta: dict, provider: TvMaze): query = MetadataEpisode(id_tvmaze=meta["id_tvmaze"], episode=meta["episode"]) results = list(provider.search(query)) assert results assert any(result.title == meta["title"] for result in results) assert all(result.episode == meta["episode"] for result in results)
def test_tvdb_provider__search__id_tvdb_season_episode(meta: dict, provider: Tvdb): query = MetadataEpisode(season=1, episode=3, id_tvdb=meta["id_tvdb"]) results = list(provider.search(query)) assert len(results) == 1 assert results[0].season == 1 assert results[0].episode == 3
def test_search_id_tvmaze_and_season_and_episode(meta: dict, provider: TvMaze): query = MetadataEpisode(id_tvmaze=meta["id_tvmaze"], season=meta["season"], episode=meta["episode"]) results = list(provider.search(query)) assert results for result in results: assert result.title == meta["title"]
def test_tvdb_provider__search__series(meta: dict, provider: Tvdb): query = MetadataEpisode(series=meta["series"]) found = False results = provider.search(query) for result in results: if result.id_tvdb == meta["id_tvdb"]: found = True break assert found is True
def _transform_meta(id_tvmaze: str, id_tvdb: Optional[str], series_entry: dict, episode_entry: dict) -> MetadataEpisode: return MetadataEpisode( date=episode_entry["airdate"] or None, episode=episode_entry["number"], id_tvdb=id_tvdb or None, id_tvmaze=id_tvmaze or None, season=episode_entry["season"], series=series_entry["name"], synopsis=episode_entry["summary"] or None, title=episode_entry["name"] or None, )
def _search_id( self, id_tvdb: int, season: int = None, episode: int = None, language: Optional[Language] = None, ): found = False series_data = tvdb_series_id(self.token, id_tvdb, language=language, cache=self.cache) page = 1 while True: episode_data = tvdb_series_id_episodes_query( self.token, id_tvdb, episode, season, language=language, page=page, cache=self.cache, ) for entry in episode_data["data"]: try: yield MetadataEpisode( date=entry["firstAired"], episode=entry["airedEpisodeNumber"], id_tvdb=id_tvdb, season=entry["airedSeason"], series=series_data["data"]["seriesName"], language=language, synopsis=(entry["overview"] or None).replace("\r\n", "").replace(" ", "").strip(), title=entry["episodeName"].split(";", 1)[0], ) found = True except (AttributeError, KeyError, ValueError): continue if page == episode_data["links"]["last"]: break page += 1 if not found: raise MnamerNotFoundException
def test_search_series_and_episode__no_hits(provider: TvMaze): query = MetadataEpisode(series=JUNK_TEXT, episode=1) with pytest.raises(MnamerNotFoundException): next(provider.search(query))
def test_search_id_tvdb(meta: dict, provider: TvMaze): query = MetadataEpisode(id_tvdb=meta["id_tvdb"]) results = list(provider.search(query)) assert results assert any(result.title == meta["title"] for result in results)
def test_tvdb_provider__search_series_date__year(provider: Tvdb): query = MetadataEpisode(series="The Daily Show", date="2017-11-01") results = list(provider.search(query)) assert len(results) == 1 assert results[0].title == "Hillary Clinton"
def test_tvdb_provider__search__series_deep(provider: Tvdb): query = MetadataEpisode(series="House Rules (au)", season=6, episode=6) results = provider.search(query) assert any(result.id_tvdb == 269795 for result in results)
def test_search__id_tvdb_episode(meta: dict, provider: Tvdb): query = MetadataEpisode(episode=2, id_tvdb=meta["id_tvdb"]) results = provider.search(query) all_episode_2 = all(entry.episode == 2 for entry in results) assert all_episode_2 is True
def test_search__id_tvdb_season(meta: dict, provider: Tvdb): query = MetadataEpisode(season=1, id_tvdb=meta["id_tvdb"]) results = provider.search(query) all_season_1 = all(entry.season == 1 for entry in results) assert all_season_1 is True
def test_search__series(meta: dict, provider: Tvdb): query = MetadataEpisode(series=meta["series"]) assert any(result.id_tvdb == meta["id_tvdb"] for result in provider.search(query))
def test_search_id(meta: dict, provider: Tvdb): query = MetadataEpisode(id_tvdb=meta["id_tvdb"]) results = list(provider.search(query)) assert results for result in results: assert result.series == meta["series"]
def test_search_id_tvdb_and_date(meta, provider: TvMaze): query = MetadataEpisode(id_tvdb=meta["id_tvdb"], date=meta["date"]) results = list(provider.search(query)) assert results for result in results: assert result.title == meta["title"]
def test_search_id_tvdb_and_date__no_hits(provider: TvMaze): query = MetadataEpisode(id_tvdb=JUNK_TEXT, date=TEST_DATE) with pytest.raises(MnamerNotFoundException): next(provider.search(query))
def test_tvdb_provider__search__title_season(meta: dict, provider: Tvdb): query = MetadataEpisode(series=meta["series"], season=1) results = provider.search(query) all_season_1 = all(entry.season == 1 for entry in results) assert all_season_1 is True
def test_search_id_tvmaze__no_hits(provider: TvMaze): query = MetadataEpisode(id_tvmaze=JUNK_TEXT) with pytest.raises(MnamerNotFoundException): next(provider.search(query))
def test_tvdb_provider__search__title_season_episode(meta: dict, provider: Tvdb): query = MetadataEpisode(series=meta["series"], season=1, episode=3) results = list(provider.search(query)) assert results[0].season == 1 assert results[0].episode == 3