mirror of https://github.com/morpheus65535/bazarr
208 lines
5.7 KiB
Python
208 lines
5.7 KiB
Python
|
# -*- coding: utf-8 -*-
|
|||
|
|
|||
|
"""
|
|||
|
tmdbsimple.configuration
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
This module implements the Configuration, Certifications, and Timezones
|
|||
|
functionality of tmdbsimple.
|
|||
|
|
|||
|
Created by Celia Oakley on 2013-10-31.
|
|||
|
|
|||
|
:copyright: (c) 2013-2020 by Celia Oakley
|
|||
|
: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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
|
|||
|
class Timezones(TMDB):
|
|||
|
"""
|
|||
|
Timezones functionality.
|
|||
|
|
|||
|
See: https://developers.themoviedb.org/3/timezones
|
|||
|
"""
|
|||
|
BASE_PATH = 'timezones'
|
|||
|
URLS = {
|
|||
|
'list': '/list',
|
|||
|
}
|
|||
|
|
|||
|
def list(self, **kwargs):
|
|||
|
"""
|
|||
|
Get the list of supported timezones for the API methods that support
|
|||
|
them.
|
|||
|
|
|||
|
Returns:
|
|||
|
A dict respresentation of the JSON returned from the API.
|
|||
|
"""
|
|||
|
path = self._get_path('list')
|
|||
|
|
|||
|
response = self._GET(path, kwargs)
|
|||
|
self._set_attrs_to_values(response)
|
|||
|
return response
|