mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-06-23 15:30:34 -04:00
Add tv specifics genres
This commit is contained in:
parent
266caa3f02
commit
13ad35a9ac
@ -41,4 +41,10 @@ public enum Genre
|
|||||||
Thriller,
|
Thriller,
|
||||||
War,
|
War,
|
||||||
Western,
|
Western,
|
||||||
|
Kids,
|
||||||
|
News,
|
||||||
|
Reality,
|
||||||
|
Soap,
|
||||||
|
Talk,
|
||||||
|
Politics,
|
||||||
}
|
}
|
||||||
|
@ -56,12 +56,31 @@ class TheMovieDatabase(Provider):
|
|||||||
53: Genre.THRILLER,
|
53: Genre.THRILLER,
|
||||||
10752: Genre.WAR,
|
10752: Genre.WAR,
|
||||||
37: Genre.WESTERN,
|
37: Genre.WESTERN,
|
||||||
|
10759: [Genre.ACTION, Genre.ADVENTURE],
|
||||||
|
10762: Genre.KIDS,
|
||||||
|
10763: Genre.NEWS,
|
||||||
|
10764: Genre.REALITY,
|
||||||
|
10765: [Genre.SCIENCE_FICTION, Genre.FANTASY],
|
||||||
|
10766: Genre.SOAP,
|
||||||
|
10767: Genre.TALK,
|
||||||
|
10768: [Genre.WAR, Genre.POLITICS],
|
||||||
}
|
}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self) -> str:
|
def name(self) -> str:
|
||||||
return "themoviedatabase"
|
return "themoviedatabase"
|
||||||
|
|
||||||
|
def process_genres(self, genres) -> list[Genre]:
|
||||||
|
def flatten(x: Genre | list[Genre]) -> list[Genre]:
|
||||||
|
if isinstance(x, list):
|
||||||
|
return [j for i in x for j in flatten(i)]
|
||||||
|
return [x]
|
||||||
|
return flatten([
|
||||||
|
self.genre_map[x["id"]]
|
||||||
|
for x in genres
|
||||||
|
if x["id"] in self.genre_map
|
||||||
|
])
|
||||||
|
|
||||||
def get_languages(self, *args):
|
def get_languages(self, *args):
|
||||||
return self._languages + list(args)
|
return self._languages + list(args)
|
||||||
|
|
||||||
@ -154,11 +173,7 @@ class TheMovieDatabase(Provider):
|
|||||||
rating=round(float(movie["vote_average"]) * 10),
|
rating=round(float(movie["vote_average"]) * 10),
|
||||||
runtime=int(movie["runtime"]) if movie["runtime"] is not None else None,
|
runtime=int(movie["runtime"]) if movie["runtime"] is not None else None,
|
||||||
studios=[self.to_studio(x) for x in movie["production_companies"]],
|
studios=[self.to_studio(x) for x in movie["production_companies"]],
|
||||||
genres=[
|
genres=self.process_genres(movie["genres"]),
|
||||||
self.genre_map[x["id"]]
|
|
||||||
for x in movie["genres"]
|
|
||||||
if x["id"] in self.genre_map
|
|
||||||
],
|
|
||||||
external_id=(
|
external_id=(
|
||||||
{
|
{
|
||||||
self.name: MetadataID(
|
self.name: MetadataID(
|
||||||
@ -260,11 +275,7 @@ class TheMovieDatabase(Provider):
|
|||||||
else ShowStatus.FINISHED,
|
else ShowStatus.FINISHED,
|
||||||
rating=round(float(show["vote_average"]) * 10),
|
rating=round(float(show["vote_average"]) * 10),
|
||||||
studios=[self.to_studio(x) for x in show["production_companies"]],
|
studios=[self.to_studio(x) for x in show["production_companies"]],
|
||||||
genres=[
|
genres=self.process_genres(show["genres"]),
|
||||||
self.genre_map[x["id"]]
|
|
||||||
for x in show["genres"]
|
|
||||||
if x["id"] in self.genre_map
|
|
||||||
],
|
|
||||||
external_id={
|
external_id={
|
||||||
self.name: MetadataID(
|
self.name: MetadataID(
|
||||||
show["id"], f"https://www.themoviedb.org/tv/{show['id']}"
|
show["id"], f"https://www.themoviedb.org/tv/{show['id']}"
|
||||||
|
@ -20,6 +20,12 @@ class Genre(str, Enum):
|
|||||||
THRILLER = "Thriller"
|
THRILLER = "Thriller"
|
||||||
WAR = "War"
|
WAR = "War"
|
||||||
WESTERN = "Western"
|
WESTERN = "Western"
|
||||||
|
KIDS = "Kids"
|
||||||
|
NEWS = "News"
|
||||||
|
REALITY = "Reality"
|
||||||
|
SOAP = "Soap"
|
||||||
|
TALK = "Talk"
|
||||||
|
POLITICS = "Politics"
|
||||||
|
|
||||||
def to_kyoo(self):
|
def to_kyoo(self):
|
||||||
return self.value
|
return self.value
|
||||||
|
Loading…
x
Reference in New Issue
Block a user