mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-07-09 03:04:20 -04:00
Tvdb season access cleanup
This commit is contained in:
parent
8c6b99e31b
commit
7577d757f8
@ -123,6 +123,10 @@ class TVDB(Provider):
|
|||||||
type="series",
|
type="series",
|
||||||
)
|
)
|
||||||
ret = await self.get(f"search?{urlencode(query)}")
|
ret = await self.get(f"search?{urlencode(query)}")
|
||||||
|
if not any(ret["data"]):
|
||||||
|
raise ProviderError(
|
||||||
|
f"No serie found with the name {name} in the year {year} (on tvdb)"
|
||||||
|
)
|
||||||
return ret["data"][0]["tvdb_id"]
|
return ret["data"][0]["tvdb_id"]
|
||||||
|
|
||||||
@cache(ttl=timedelta(days=1))
|
@cache(ttl=timedelta(days=1))
|
||||||
@ -233,45 +237,47 @@ class TVDB(Provider):
|
|||||||
not_found_fail=f"Could not find show with id {show_id}",
|
not_found_fail=f"Could not find show with id {show_id}",
|
||||||
)
|
)
|
||||||
logger.debug("TVDB responded: %s", ret)
|
logger.debug("TVDB responded: %s", ret)
|
||||||
ret = ret["data"]
|
|
||||||
translations = await asyncio.gather(
|
translations = await asyncio.gather(
|
||||||
*(
|
*(
|
||||||
self.get(f"series/{show_id}/translations/{lang}")
|
self.get(f"series/{show_id}/translations/{lang}")
|
||||||
for lang in self._languages
|
for lang in self._languages
|
||||||
if lang != ret["originalLanguage"]
|
if lang != ret["data"]["originalLanguage"]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
trans = {
|
trans = {
|
||||||
self.normalize_lang(lang): ShowTranslation(
|
self.normalize_lang(lang): ShowTranslation(
|
||||||
name=x["name"],
|
name=x["data"]["name"],
|
||||||
tagline=None,
|
tagline=None,
|
||||||
tags=[],
|
tags=[],
|
||||||
overview=x["overview"],
|
overview=x["data"]["overview"],
|
||||||
posters=[
|
posters=[
|
||||||
i["image"]
|
i["image"]
|
||||||
for i in x["artworks"]
|
for i in ret["data"]["artworks"]
|
||||||
if i["type"] == 2
|
if i["type"] == 2
|
||||||
and (i["language"] == lang or i["language"] is None)
|
and (i["language"] == lang or i["language"] is None)
|
||||||
],
|
],
|
||||||
logos=[
|
logos=[
|
||||||
i["image"]
|
i["image"]
|
||||||
for i in x["artworks"]
|
for i in ret["data"]["artworks"]
|
||||||
if i["type"] == 5
|
if i["type"] == 5
|
||||||
and (i["language"] == lang or i["language"] is None)
|
and (i["language"] == lang or i["language"] is None)
|
||||||
],
|
],
|
||||||
thumbnails=[
|
thumbnails=[
|
||||||
i["image"]
|
i["image"]
|
||||||
for i in x["artworks"]
|
for i in ret["data"]["artworks"]
|
||||||
if i["type"] == 3
|
if i["type"] == 3
|
||||||
and (i["language"] == lang or i["language"] is None)
|
and (i["language"] == lang or i["language"] is None)
|
||||||
],
|
],
|
||||||
trailers=[x["url"] for t in ret["trailers"] if t["language"] == lang],
|
trailers=[
|
||||||
|
t["url"] for t in ret["data"]["trailers"] if t["language"] == lang
|
||||||
|
],
|
||||||
)
|
)
|
||||||
for (lang, x) in [
|
for (lang, x) in [
|
||||||
(ret["originalLanguage"], ret),
|
(ret["data"]["originalLanguage"], ret),
|
||||||
*zip(self._languages, translations),
|
*zip(self._languages, translations),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
ret = ret["data"]
|
||||||
return Show(
|
return Show(
|
||||||
original_language=self.normalize_lang(ret["originalLanguage"]),
|
original_language=self.normalize_lang(ret["originalLanguage"]),
|
||||||
aliases=[x["name"] for x in ret["aliases"]],
|
aliases=[x["name"] for x in ret["aliases"]],
|
||||||
@ -342,9 +348,11 @@ class TVDB(Provider):
|
|||||||
f"seasons/{season_id}/extended",
|
f"seasons/{season_id}/extended",
|
||||||
not_found_fail=f"Invalid season id {season_id}",
|
not_found_fail=f"Invalid season id {season_id}",
|
||||||
)
|
)
|
||||||
|
logger.debug("TVDB send season (%s) data %s", season_id, info)
|
||||||
|
|
||||||
async def process_translation(lang: str) -> SeasonTranslation:
|
async def process_translation(lang: str) -> SeasonTranslation:
|
||||||
data = await self.get(f"seasons/{season_id}/translations/{lang}")
|
data = await self.get(f"seasons/{season_id}/translations/{lang}")
|
||||||
|
logger.debug("TVDB send season (%s) translations (%s) data %s", season_id, lang, data)
|
||||||
return SeasonTranslation(
|
return SeasonTranslation(
|
||||||
name=data["data"]["name"],
|
name=data["data"]["name"],
|
||||||
overview=data["data"]["overview"],
|
overview=data["data"]["overview"],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user