Spaces:
Sleeping
Sleeping
import requests | |
import os | |
BASE_URL = "https://api.themoviedb.org/3" | |
API_KEY = os.environ['TMDB_API_KEY'] | |
def query_tmdb(endpoint, params={}): | |
headers = { | |
"accept": "application/json", | |
"Authorization": f"Bearer {API_KEY}" | |
} | |
response = requests.get(endpoint, headers=headers, params=params) | |
return response.json() | |
def discover_movie(include_adult=False, include_video=False, language="en-US", page=1, sort_by="popularity.desc", **kwargs): | |
endpoint = f"{BASE_URL}/discover/movie" | |
params = {} | |
for key, value in kwargs.items(): | |
if value is not None: | |
params[key] = value | |
response = query_tmdb(endpoint, params=params) | |
return response | |
def get_movie_details(movie_id, append_to_response=None): | |
endpoint = f"{BASE_URL}/movie/{movie_id}" | |
params = {} | |
response = query_tmdb(endpoint, params=params) | |
return response | |
def search_person(query, include_adult=False, language="en-US", page=1): | |
endpoint = f"{BASE_URL}/search/person" | |
params = { | |
'query': query, | |
'include_adult': include_adult, | |
'language': language, | |
'page': page | |
} | |
response = query_tmdb(endpoint, params=params) | |
return response | |
def get_person_details(person_id, language="en-US", append_to_response=None): | |
endpoint = f"{BASE_URL}/person/{person_id}" | |
params = { | |
'language': language | |
} | |
if append_to_response: | |
params['append_to_response'] = append_to_response | |
response = query_tmdb(endpoint, params=params) | |
return response | |
def get_movie_genres(language="en-US"): | |
endpoint = f"{BASE_URL}/genre/movie/list" | |
params = { | |
'language': language | |
} | |
response = query_tmdb(endpoint, params=params) | |
return response | |