Source code for asynctmdb.methods.genres

from typing import (Union,
                    Dict,
                    List)

from aiohttp import ClientSession

from asynctmdb import requests
from asynctmdb.config import API_BASE_URL
from asynctmdb.utils import urljoin

GenresType = List[Dict[str, Union[int, str]]]


[docs]async def movie(*, api_base_url: str = API_BASE_URL, api_key: str, language: str = None, session: ClientSession) -> GenresType: """ Get the list of official genres for movies. More info at :genres:`TMDb docs <get-movie-list>`. """ method_url = urljoin(base_method_url(api_base_url), 'movie/list') params = {} if language is not None: params['language'] = language response = await requests.get(method_url=method_url, session=session, api_key=api_key, **params) return response['genres']
[docs]async def tv(*, api_base_url: str = API_BASE_URL, api_key: str, language: str = None, session: ClientSession) -> GenresType: """ Get the list of official genres for TV shows. More info at :genres:`TMDb docs <get-tv-list>`. """ method_url = urljoin(base_method_url(api_base_url), 'tv/list') params = {} if language is not None: params['language'] = language response = await requests.get(method_url=method_url, session=session, api_key=api_key, **params) return response['genres']
def base_method_url(api_base_url: str) -> str: return urljoin(api_base_url, 'genre')