File size: 1,771 Bytes
6660737
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ebf567b
6660737
ebf567b
6660737
ebf567b
 
 
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
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