mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Use new absoluteNumber value from tvdb
This commit is contained in:
parent
3d2e837022
commit
c96a544021
@ -120,10 +120,9 @@ class TVDB(Provider):
|
|||||||
async def get_episodes(
|
async def get_episodes(
|
||||||
self,
|
self,
|
||||||
show_id: str,
|
show_id: str,
|
||||||
order: Literal["default", "absolute"],
|
|
||||||
language: Optional[str] = None,
|
language: Optional[str] = None,
|
||||||
):
|
):
|
||||||
path = f"/series/{show_id}/episodes/{order}"
|
path = f"/series/{show_id}/episodes/default"
|
||||||
if language is not None:
|
if language is not None:
|
||||||
path += f"/{language}"
|
path += f"/{language}"
|
||||||
ret = await self.get(
|
ret = await self.get(
|
||||||
@ -156,8 +155,8 @@ class TVDB(Provider):
|
|||||||
episode_nbr: Optional[int],
|
episode_nbr: Optional[int],
|
||||||
absolute: Optional[int],
|
absolute: Optional[int],
|
||||||
) -> Episode:
|
) -> Episode:
|
||||||
flang, slang, *olang = [*self._languages, None]
|
flang, *olang = self._languages
|
||||||
episodes = await self.get_episodes(show_id, order="default", language=flang)
|
episodes = await self.get_episodes(show_id, language=flang)
|
||||||
show = episodes["data"]
|
show = episodes["data"]
|
||||||
ret = next(
|
ret = next(
|
||||||
filter(
|
filter(
|
||||||
@ -174,17 +173,9 @@ class TVDB(Provider):
|
|||||||
raise ProviderError(
|
raise ProviderError(
|
||||||
f"Could not retrive episode {show['name']} s{season}e{episode_nbr}, absolute {absolute}"
|
f"Could not retrive episode {show['name']} s{season}e{episode_nbr}, absolute {absolute}"
|
||||||
)
|
)
|
||||||
absolutes = await self.get_episodes(
|
|
||||||
show_id, order="absolute", language=slang or flang
|
|
||||||
)
|
|
||||||
abs = next(filter(lambda x: x["id"] == ret["id"], absolutes["episodes"]))
|
|
||||||
|
|
||||||
otrans = await asyncio.gather(
|
otrans = await asyncio.gather(
|
||||||
*(
|
*(self.get_episodes(show_id, language=lang) for lang in olang)
|
||||||
self.get_episodes(show_id, order="default", language=lang)
|
|
||||||
for lang in olang
|
|
||||||
if lang is not None
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
translations = {
|
translations = {
|
||||||
lang: EpisodeTranslation(
|
lang: EpisodeTranslation(
|
||||||
@ -195,7 +186,6 @@ class TVDB(Provider):
|
|||||||
self._languages,
|
self._languages,
|
||||||
[
|
[
|
||||||
ret,
|
ret,
|
||||||
abs,
|
|
||||||
*(
|
*(
|
||||||
next(x for x in e["episodes"] if x["id"] == ret["id"])
|
next(x for x in e["episodes"] if x["id"] == ret["id"])
|
||||||
for e in otrans
|
for e in otrans
|
||||||
@ -216,7 +206,7 @@ class TVDB(Provider):
|
|||||||
),
|
),
|
||||||
season_number=ret["seasonNumber"],
|
season_number=ret["seasonNumber"],
|
||||||
episode_number=ret["number"],
|
episode_number=ret["number"],
|
||||||
absolute_number=abs["number"],
|
absolute_number=ret["absoluteNumber"],
|
||||||
runtime=ret["runtime"],
|
runtime=ret["runtime"],
|
||||||
release_date=datetime.strptime(ret["aired"], "%Y-%m-%d").date(),
|
release_date=datetime.strptime(ret["aired"], "%Y-%m-%d").date(),
|
||||||
thumbnail=f"https://artworks.thetvdb.com{ret['image']}",
|
thumbnail=f"https://artworks.thetvdb.com{ret['image']}",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user