movies-app / functions.py
tmzh
add natural language queries
ebf567b
raw
history blame
No virus
1.77 kB
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