fix api
This commit is contained in:
parent
df05c46a5b
commit
00387ec334
@ -100,11 +100,12 @@ def tmdb_person(person_id: int,
|
|||||||
|
|
||||||
@router.get("/person/credits/{person_id}", summary="人物参演作品", response_model=List[schemas.MediaInfo])
|
@router.get("/person/credits/{person_id}", summary="人物参演作品", response_model=List[schemas.MediaInfo])
|
||||||
def tmdb_person_credits(person_id: int,
|
def tmdb_person_credits(person_id: int,
|
||||||
|
page: int = 1,
|
||||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
"""
|
"""
|
||||||
根据人物ID查询人物参演作品
|
根据人物ID查询人物参演作品
|
||||||
"""
|
"""
|
||||||
tmdbinfo = TmdbChain().person_credits(person_id=person_id)
|
tmdbinfo = TmdbChain().person_credits(person_id=person_id, page=page)
|
||||||
if not tmdbinfo:
|
if not tmdbinfo:
|
||||||
return []
|
return []
|
||||||
else:
|
else:
|
||||||
|
@ -99,9 +99,10 @@ class TmdbChain(ChainBase):
|
|||||||
"""
|
"""
|
||||||
return self.run_module("person_detail", person_id=person_id)
|
return self.run_module("person_detail", person_id=person_id)
|
||||||
|
|
||||||
def person_credits(self, person_id: int) -> List[dict]:
|
def person_credits(self, person_id: int, page: int = 1) -> List[dict]:
|
||||||
"""
|
"""
|
||||||
根据人物ID查询人物参演作品
|
根据人物ID查询人物参演作品
|
||||||
:param person_id: 人物ID
|
:param person_id: 人物ID
|
||||||
|
:param page: 页码
|
||||||
"""
|
"""
|
||||||
return self.run_module("person_credits", person_id=person_id)
|
return self.run_module("person_credits", person_id=person_id, page=page)
|
||||||
|
@ -316,7 +316,7 @@ class MediaInfo:
|
|||||||
self.year = self.release_date[:4]
|
self.year = self.release_date[:4]
|
||||||
# 季集信息
|
# 季集信息
|
||||||
if info.get('seasons'):
|
if info.get('seasons'):
|
||||||
self.season_info = info.get('seasons')
|
self.season_info = [s.to_dict() for s in info.get('seasons')]
|
||||||
for seainfo in info.get('seasons'):
|
for seainfo in info.get('seasons'):
|
||||||
# 季
|
# 季
|
||||||
season = seainfo.get("season_number")
|
season = seainfo.get("season_number")
|
||||||
@ -503,8 +503,6 @@ class MediaInfo:
|
|||||||
dicts["type"] = self.type.value if self.type else None
|
dicts["type"] = self.type.value if self.type else None
|
||||||
dicts["detail_link"] = self.detail_link
|
dicts["detail_link"] = self.detail_link
|
||||||
dicts["title_year"] = self.title_year
|
dicts["title_year"] = self.title_year
|
||||||
dicts["season_info"] = [info.to_dict() for info in self.season_info]
|
|
||||||
dicts["tmdb_info"] = self.tmdb_info.to_dict()
|
|
||||||
return dicts
|
return dicts
|
||||||
|
|
||||||
|
|
||||||
|
@ -382,9 +382,10 @@ class TheMovieDbModule(_ModuleBase):
|
|||||||
"""
|
"""
|
||||||
return self.tmdb.get_person_detail(person_id=person_id)
|
return self.tmdb.get_person_detail(person_id=person_id)
|
||||||
|
|
||||||
def person_credits(self, person_id: int) -> dict:
|
def person_credits(self, person_id: int, page: int = 1) -> List[dict]:
|
||||||
"""
|
"""
|
||||||
根据TMDBID查询人物参演详情
|
根据TMDBID查询人物参演作品
|
||||||
:param person_id: 人物ID
|
:param person_id: 人物ID
|
||||||
|
:param page: 页码
|
||||||
"""
|
"""
|
||||||
return self.tmdb.get_person_credits(person_id=person_id)
|
return self.tmdb.get_person_credits(person_id=person_id, page=page)
|
||||||
|
@ -1136,22 +1136,28 @@ class TmdbHelper:
|
|||||||
return {}
|
return {}
|
||||||
try:
|
try:
|
||||||
logger.info(f"正在获取人物详情:{person_id}...")
|
logger.info(f"正在获取人物详情:{person_id}...")
|
||||||
info = self.person.details(person_id=person_id) or {}
|
info = self.person.details(person_id=person_id)
|
||||||
return info
|
if info:
|
||||||
|
info_dict = info.to_dict()
|
||||||
|
return info_dict
|
||||||
|
return {}
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def get_person_credits(self, person_id: int) -> dict:
|
def get_person_credits(self, person_id: int, page: int = 1, count: int = 24) -> List[dict]:
|
||||||
"""
|
"""
|
||||||
获取人物参演作品
|
获取人物参演作品
|
||||||
"""
|
"""
|
||||||
if not self.person:
|
if not self.person:
|
||||||
return {}
|
return []
|
||||||
try:
|
try:
|
||||||
logger.info(f"正在获取人物参演作品:{person_id}...")
|
logger.info(f"正在获取人物参演作品:{person_id}...")
|
||||||
info = self.person.movie_credits(person_id=person_id) or {}
|
info = self.person.movie_credits(person_id=person_id) or {}
|
||||||
return info.get('cast') or []
|
cast = info.get('cast') or []
|
||||||
|
if cast:
|
||||||
|
return [c.to_dict() for c in cast][(page - 1) * count: page * count]
|
||||||
|
return []
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
return {}
|
return []
|
||||||
|
@ -40,7 +40,7 @@ class TmdbPerson(BaseModel):
|
|||||||
gender: Optional[int] = None
|
gender: Optional[int] = None
|
||||||
original_name: Optional[str] = None
|
original_name: Optional[str] = None
|
||||||
credit_id: Optional[str] = None
|
credit_id: Optional[str] = None
|
||||||
also_known_as: Optional[list] = []
|
also_known_as: Optional[dict] = {}
|
||||||
birthday: Optional[str] = None
|
birthday: Optional[str] = None
|
||||||
deathday: Optional[str] = None
|
deathday: Optional[str] = None
|
||||||
imdb_id: Optional[str] = None
|
imdb_id: Optional[str] = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user