mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-07 00:16:57 +08:00
fix tmdbapis
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
from ..tmdb import TMDb
|
||||
|
||||
try:
|
||||
from urllib import quote
|
||||
except ImportError:
|
||||
from urllib.parse import quote
|
||||
|
||||
|
||||
class Search(TMDb):
|
||||
_urls = {
|
||||
"companies": "/search/company",
|
||||
"collections": "/search/collection",
|
||||
"keywords": "/search/keyword",
|
||||
"movies": "/search/movie",
|
||||
"multi": "/search/multi",
|
||||
"people": "/search/person",
|
||||
"tv_shows": "/search/tv",
|
||||
}
|
||||
|
||||
def companies(self, term, page=1):
|
||||
"""
|
||||
Search for companies.
|
||||
:param term: str
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["companies"],
|
||||
params="query=%s&page=%s" % (quote(term), page),
|
||||
key="results"
|
||||
)
|
||||
|
||||
def collections(self, term, page=1):
|
||||
"""
|
||||
Search for collections.
|
||||
:param term: str
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["collections"],
|
||||
params="query=%s&page=%s" % (quote(term), page),
|
||||
key="results"
|
||||
)
|
||||
|
||||
def keywords(self, term, page=1):
|
||||
"""
|
||||
Search for keywords.
|
||||
:param term: str
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["keywords"],
|
||||
params="query=%s&page=%s" % (quote(term), page),
|
||||
key="results"
|
||||
)
|
||||
|
||||
def movies(self, term, adult=None, region=None, year=None, release_year=None, page=1):
|
||||
"""
|
||||
Search for movies.
|
||||
:param term: str
|
||||
:param adult: bool
|
||||
:param region: str
|
||||
:param year: int
|
||||
:param release_year: int
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
params = "query=%s&page=%s" % (quote(term), page)
|
||||
if adult is not None:
|
||||
params += "&include_adult=%s" % "true" if adult else "false"
|
||||
if region is not None:
|
||||
params += "®ion=%s" % quote(region)
|
||||
if year is not None:
|
||||
params += "&year=%s" % year
|
||||
if release_year is not None:
|
||||
params += "&primary_release_year=%s" % release_year
|
||||
return self._request_obj(
|
||||
self._urls["movies"],
|
||||
params=params,
|
||||
key="results"
|
||||
)
|
||||
|
||||
def multi(self, term, adult=None, region=None, page=1):
|
||||
"""
|
||||
Search multiple models in a single request.
|
||||
Multi search currently supports searching for movies, tv shows and people in a single request.
|
||||
:param term: str
|
||||
:param adult: bool
|
||||
:param region: str
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
params = "query=%s&page=%s" % (quote(term), page)
|
||||
if adult is not None:
|
||||
params += "&include_adult=%s" % "true" if adult else "false"
|
||||
if region is not None:
|
||||
params += "®ion=%s" % quote(region)
|
||||
return self._request_obj(
|
||||
self._urls["multi"],
|
||||
params=params,
|
||||
key="results"
|
||||
)
|
||||
|
||||
def people(self, term, adult=None, region=None, page=1):
|
||||
"""
|
||||
Search for people.
|
||||
:param term: str
|
||||
:param adult: bool
|
||||
:param region: str
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
params = "query=%s&page=%s" % (quote(term), page)
|
||||
if adult is not None:
|
||||
params += "&include_adult=%s" % "true" if adult else "false"
|
||||
if region is not None:
|
||||
params += "®ion=%s" % quote(region)
|
||||
return self._request_obj(
|
||||
self._urls["people"],
|
||||
params=params,
|
||||
key="results"
|
||||
)
|
||||
|
||||
def tv_shows(self, term, adult=None, release_year=None, page=1):
|
||||
"""
|
||||
Search for a TV show.
|
||||
:param term: str
|
||||
:param adult: bool
|
||||
:param release_year: int
|
||||
:param page: int
|
||||
:return:
|
||||
"""
|
||||
params = "query=%s&page=%s" % (quote(term), page)
|
||||
if adult is not None:
|
||||
params += "&include_adult=%s" % "true" if adult else "false"
|
||||
if release_year is not None:
|
||||
params += "&first_air_date_year=%s" % release_year
|
||||
return self._request_obj(
|
||||
self._urls["tv_shows"],
|
||||
params=params,
|
||||
key="results"
|
||||
)
|
||||
Reference in New Issue
Block a user