Exemplo n.º 1
0
def test_tvdb_search_series__invalid_lang(tvdb_token):
    with pytest.raises(MnamerException):
        tvdb_search_series(
            tvdb_token,
            "Lost",
            language=Language(JUNK_TEXT, JUNK_TEXT, JUNK_TEXT),
            cache=False,
        )
Exemplo n.º 2
0
    def _search_series(
        self,
        series: str,
        season: int,
        episode: int,
        language: Optional[Language],
    ):
        found = False
        series_data = tvdb_search_series(self.token,
                                         series,
                                         language=language,
                                         cache=self.cache)

        for series_id in [entry["id"] for entry in series_data["data"][:5]]:
            try:
                for data in self._search_id(series_id, season, episode,
                                            language):
                    if not data.series or not data.season:
                        continue
                    found = True
                    yield data
            except MnamerNotFoundException:
                continue  # may not have requested episode or may be banned
        if not found:
            raise MnamerNotFoundException
Exemplo n.º 3
0
 def _search_series_date(self, series: str, release_date: date,
                         language: Optional[Language]):
     release_date = parse_date(release_date)
     series_data = tvdb_search_series(self.token,
                                      series,
                                      language=language,
                                      cache=self.cache)
     tvdb_ids = [entry["id"] for entry in series_data["data"]][:5]
     found = False
     for tvdb_id in tvdb_ids:
         try:
             yield from self._search_tvdb_date(tvdb_id, release_date,
                                               language)
             found = True
         except MnamerNotFoundException:
             continue
     if not found:
         raise MnamerNotFoundException
Exemplo n.º 4
0
def test_tvdb_search_series__success(tvdb_token):
    expected_top_level_keys = {
        "aliases",
        "banner",
        "firstAired",
        "id",
        "image",
        "network",
        "overview",
        "poster",
        "seriesName",
        "slug",
        "status",
    }
    result = tvdb_search_series(tvdb_token, "Lost")
    assert isinstance(result, dict)
    assert "data" in result
    data = result["data"]
    assert len(data) == 100
    actual_top_level_keys = set(data[0].keys())
    assert actual_top_level_keys == expected_top_level_keys
Exemplo n.º 5
0
def test_tvdb_search_series__language(tvdb_token):
    results = tvdb_search_series(tvdb_token, "Witcher", language=RUSSIAN_LANG)
    assert any(result["seriesName"] for result in results["data"])
Exemplo n.º 6
0
def test_tvdb_search_series__invalid_id_imdb(tvdb_token):
    with pytest.raises(MnamerException):
        tvdb_search_series(tvdb_token, "Lost", id_imdb="xyz", cache=False)
Exemplo n.º 7
0
def test_tvdb_search_series__invalid_token():
    with pytest.raises(MnamerException):
        tvdb_search_series(JUNK_TEXT, "Lost", cache=False)