fix tmdbapis
This commit is contained in:
157
app/modules/themoviedb/tmdbv3api/objs/episode.py
Normal file
157
app/modules/themoviedb/tmdbv3api/objs/episode.py
Normal file
@ -0,0 +1,157 @@
|
||||
from ..tmdb import TMDb
|
||||
|
||||
|
||||
class Episode(TMDb):
|
||||
_urls = {
|
||||
"details": "/tv/%s/season/%s/episode/%s",
|
||||
"account_states": "/tv/%s/season/%s/episode/%s/account_states",
|
||||
"changes": "/tv/episode/%s/changes",
|
||||
"credits": "/tv/%s/season/%s/episode/%s/credits",
|
||||
"external_ids": "/tv/%s/season/%s/episode/%s/external_ids",
|
||||
"images": "/tv/%s/season/%s/episode/%s/images",
|
||||
"translations": "/tv/%s/season/%s/episode/%s/translations",
|
||||
"rate_tv_episode": "/tv/%s/season/%s/episode/%s/rating",
|
||||
"delete_rating": "/tv/%s/season/%s/episode/%s/rating",
|
||||
"videos": "/tv/%s/season/%s/episode/%s/videos",
|
||||
}
|
||||
|
||||
def details(self, tv_id, season_num, episode_num, append_to_response="trailers,images,casts,translations"):
|
||||
"""
|
||||
Get the TV episode details by id.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:param append_to_response: str
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["details"] % (tv_id, season_num, episode_num),
|
||||
params="append_to_response=%s" % append_to_response
|
||||
)
|
||||
|
||||
def account_states(self, tv_id, season_num, episode_num):
|
||||
"""
|
||||
Get your rating for a episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["account_states"] % (tv_id, season_num, episode_num),
|
||||
params="session_id=%s" % self.session_id
|
||||
)
|
||||
|
||||
def changes(self, episode_id, start_date=None, end_date=None, page=1):
|
||||
"""
|
||||
Get the changes for a TV episode. By default only the last 24 hours are returned.
|
||||
You can query up to 14 days in a single query by using the start_date and end_date query parameters.
|
||||
:param episode_id: int
|
||||
:param start_date: str
|
||||
:param end_date: str
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
params = "page=%s" % page
|
||||
if start_date:
|
||||
params += "&start_date=%s" % start_date
|
||||
if end_date:
|
||||
params += "&end_date=%s" % end_date
|
||||
return self._request_obj(
|
||||
self._urls["changes"] % episode_id,
|
||||
params=params,
|
||||
key="changes"
|
||||
)
|
||||
|
||||
def credits(self, tv_id, season_num, episode_num):
|
||||
"""
|
||||
Get the credits for TV season.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(self._urls["credits"] % (tv_id, season_num, episode_num))
|
||||
|
||||
def external_ids(self, tv_id, season_num, episode_num):
|
||||
"""
|
||||
Get the external ids for a TV episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(self._urls["external_ids"] % (tv_id, season_num, episode_num))
|
||||
|
||||
def images(self, tv_id, season_num, episode_num, include_image_language=None):
|
||||
"""
|
||||
Get the images that belong to a TV episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:param include_image_language: str
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["images"] % (tv_id, season_num, episode_num),
|
||||
params="include_image_language=%s" % include_image_language if include_image_language else "",
|
||||
key="stills"
|
||||
)
|
||||
|
||||
def translations(self, tv_id, season_num, episode_num):
|
||||
"""
|
||||
Get the translation data for an episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["translations"] % (tv_id, season_num, episode_num),
|
||||
key="translations"
|
||||
)
|
||||
|
||||
def rate_tv_episode(self, tv_id, season_num, episode_num, rating):
|
||||
"""
|
||||
Rate a TV episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:param rating: float
|
||||
"""
|
||||
self._request_obj(
|
||||
self._urls["rate_tv_episode"] % (tv_id, season_num, episode_num),
|
||||
params="session_id=%s" % self.session_id,
|
||||
method="POST",
|
||||
json={"value": rating}
|
||||
)
|
||||
|
||||
def delete_rating(self, tv_id, season_num, episode_num):
|
||||
"""
|
||||
Remove your rating for a TV episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
"""
|
||||
self._request_obj(
|
||||
self._urls["delete_rating"] % (tv_id, season_num, episode_num),
|
||||
params="session_id=%s" % self.session_id,
|
||||
method="DELETE"
|
||||
)
|
||||
|
||||
def videos(self, tv_id, season_num, episode_num, include_video_language=None):
|
||||
"""
|
||||
Get the videos that have been added to a TV episode.
|
||||
:param tv_id: int
|
||||
:param season_num: int
|
||||
:param episode_num: int
|
||||
:param include_video_language: str
|
||||
:return:
|
||||
"""
|
||||
params = ""
|
||||
if include_video_language:
|
||||
params += "&include_video_language=%s" % include_video_language
|
||||
return self._request_obj(
|
||||
self._urls["videos"] % (tv_id, season_num, episode_num),
|
||||
params=params
|
||||
)
|
Reference in New Issue
Block a user