Esempio n. 1
0
def test_tvdb_series_id__invalid_lang(tvdb_token):
    with pytest.raises(MnamerException):
        tvdb_series_id(
            tvdb_token,
            LOST_TVDB_ID_SERIES,
            language=Language(JUNK_TEXT, JUNK_TEXT, JUNK_TEXT),
            cache=False,
        )
Esempio n. 2
0
 def _search_id(
     self,
     id_tvdb: str,
     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
Esempio n. 3
0
def test_tvdb_series_id__success(tvdb_token):
    expected_top_level_keys = {
        "added",
        "addedBy",
        "airsDayOfWeek",
        "airsTime",
        "aliases",
        "banner",
        "fanart",
        "firstAired",
        "genre",
        "id",
        "imdbId",
        "language",
        "lastUpdated",
        "network",
        "networkId",
        "overview",
        "poster",
        "rating",
        "runtime",
        "season",
        "seriesId",
        "seriesName",
        "siteRating",
        "siteRatingCount",
        "slug",
        "status",
        "zap2itId",
    }

    result = tvdb_series_id(tvdb_token, LOST_TVDB_ID_SERIES)
    assert isinstance(result, dict)
    assert "data" in result
    assert set(result["data"].keys()) == expected_top_level_keys
    assert result["data"]["id"] == LOST_TVDB_ID_SERIES
    assert result["data"]["seriesName"] == "Lost"
Esempio n. 4
0
def test_tvdb_series_id__language(tvdb_token):
    result = tvdb_series_id(tvdb_token, THE_WITCHER_ID_SERIES, RUSSIAN_LANG)
    assert result["data"]["seriesName"] == "Ведьмак"
Esempio n. 5
0
def test_tvdb_series_id__no_hits(tvdb_token):
    with pytest.raises(MnamerNotFoundException):
        tvdb_series_id(tvdb_token, LOST_TVDB_ID_SERIES * 2, cache=False)
Esempio n. 6
0
def test_tvdb_series_id__invalid_id_imdb(tvdb_token):
    with pytest.raises(MnamerException):
        tvdb_series_id(tvdb_token, JUNK_TEXT, cache=False)
Esempio n. 7
0
def test_tvdb_series_id__invalid_token():
    with pytest.raises(MnamerException):
        tvdb_series_id(JUNK_TEXT, LOST_TVDB_ID_SERIES, cache=False)