2023-01-12 01:04:47 +00:00
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
tmdbsimple.configuration
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
This module implements the Configuration and Certifications functionality of
|
|
|
|
|
tmdbsimple.
|
|
|
|
|
|
|
|
|
|
Created by Celia Oakley on 2013-10-31.
|
|
|
|
|
|
2023-01-12 20:46:02 +00:00
|
|
|
|
:copyright: (c) 2013-2022 by Celia Oakley
|
2023-01-12 01:04:47 +00:00
|
|
|
|
:license: GPLv3, see LICENSE for more details
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
from .base import TMDB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Configuration(TMDB):
|
|
|
|
|
"""
|
|
|
|
|
Configuration functionality.
|
|
|
|
|
|
|
|
|
|
See: https://developers.themoviedb.org/3/configuration
|
|
|
|
|
"""
|
|
|
|
|
BASE_PATH = 'configuration'
|
|
|
|
|
URLS = {
|
|
|
|
|
'info': '',
|
|
|
|
|
'countries': '/countries',
|
|
|
|
|
'jobs': '/jobs',
|
|
|
|
|
'languages': '/languages',
|
|
|
|
|
'primary_translations': '/primary_translations',
|
|
|
|
|
'timezones': '/timezones',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def info(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get the system wide configuration information. Some elements of the API
|
|
|
|
|
require some knowledge of this configuration data. The purpose of this
|
|
|
|
|
is to try and keep the actual API responses as light as possible. It is
|
|
|
|
|
recommended you cache this data within your application and check for
|
|
|
|
|
updates every few days.
|
|
|
|
|
|
|
|
|
|
This method currently holds the data relevant to building image URLs as
|
|
|
|
|
well as the change key map.
|
|
|
|
|
|
|
|
|
|
To build an image URL, you will need 3 pieces of data. The base_url,
|
|
|
|
|
size and file_path. Simply combine them all and you will have a fully
|
|
|
|
|
qualified URL. Here’s an example URL:
|
|
|
|
|
|
|
|
|
|
https://image.tmdb.org/t/p/w500/8uO0gUM8aNqYLs1OsTBQiXu0fEv.jpg
|
|
|
|
|
|
|
|
|
|
The configuration method also contains the list of change keys which
|
|
|
|
|
can be useful if you are building an app that consumes data from the
|
|
|
|
|
change feed.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('info')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
def countries(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get the list of countries (ISO 3166-1 tags) used throughout TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('countries')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
def jobs(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get a list of the jobs and departments we use on TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('jobs')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
def languages(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get the list of languages (ISO 639-1 tags) used throughout TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('languages')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
def primary_translations(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get a list of the officially supported translations on TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('primary_translations')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
def timezones(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get the list of timezones used throughout TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('timezones')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Certifications(TMDB):
|
|
|
|
|
"""
|
|
|
|
|
Certifications functionality.
|
|
|
|
|
|
|
|
|
|
See: https://developers.themoviedb.org/3/certifications
|
|
|
|
|
"""
|
|
|
|
|
BASE_PATH = 'certification'
|
|
|
|
|
URLS = {
|
|
|
|
|
'movie_list': '/movie/list',
|
|
|
|
|
'tv_list': '/tv/list',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def movie_list(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get an up to date list of the officially supported movie certifications on TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('movie_list')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
def tv_list(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get an up to date list of the officially supported TV show certifications on TMDb.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('tv_list')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
# backward compatability, when only /movie/list existed
|
|
|
|
|
def list(self, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
Get the list of supported certifications for movies.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
None
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
A dict respresentation of the JSON returned from the API.
|
|
|
|
|
"""
|
|
|
|
|
path = self._get_path('movie_list')
|
|
|
|
|
|
|
|
|
|
response = self._GET(path, kwargs)
|
|
|
|
|
self._set_attrs_to_values(response)
|
|
|
|
|
return response
|