Spaces:
Sleeping
Sleeping
File size: 3,251 Bytes
6660737 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
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(certification=None, certification_gte=None, certification_lte=None,
certification_country=None, include_adult=False, include_video=False,
language="en-US", page=1, primary_release_year=None,
primary_release_date_gte=None, primary_release_date_lte=None,
region=None, release_date_gte=None, release_date_lte=None,
sort_by="popularity.desc", vote_average_gte=None, vote_average_lte=None):
endpoint = f"{BASE_URL}/discover/movie"
params = {
'include_adult': include_adult,
'include_video': include_video,
'language': language,
'page': page,
'sort_by': sort_by
}
# Add optional parameters if they're provided
if certification:
params['certification'] = certification
if certification_gte:
params['certification.gte'] = certification_gte
if certification_lte:
params['certification.lte'] = certification_lte
if certification_country:
params['certification_country'] = certification_country
if primary_release_year:
params['primary_release_year'] = primary_release_year
if primary_release_date_gte:
params['primary_release_date.gte'] = primary_release_date_gte
if primary_release_date_lte:
params['primary_release_date.lte'] = primary_release_date_lte
if region:
params['region'] = region
if release_date_gte:
params['release_date.gte'] = release_date_gte
if release_date_lte:
params['release_date.lte'] = release_date_lte
if vote_average_gte:
params['vote_average.gte'] = vote_average_gte
if vote_average_lte:
params['vote_average.lte'] = vote_average_lte
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
|