chg: fix: only use 3 languages

This commit is contained in:
Felipe Marinho 2024-11-13 21:06:55 -03:00 committed by Zoe Roux
parent e403c35741
commit e73aa83c83
No known key found for this signature in database
2 changed files with 6 additions and 9 deletions

View File

@ -5,7 +5,7 @@ from logging import getLogger
from typing import Awaitable, Callable, Dict, List, Optional, Any, TypeVar from typing import Awaitable, Callable, Dict, List, Optional, Any, TypeVar
from itertools import accumulate, zip_longest from itertools import accumulate, zip_longest
from providers.utils import ProviderError, get_iso_639_1_codes from providers.utils import ProviderError
from matcher.cache import cache from matcher.cache import cache
from ..provider import Provider from ..provider import Provider
@ -184,9 +184,9 @@ class TheMovieDatabase(Provider):
if len(search_results) == 0: if len(search_results) == 0:
raise ProviderError(f"No result for a movie named: {name}") raise ProviderError(f"No result for a movie named: {name}")
search = self.get_best_result(search_results, name, year) search = self.get_best_result(search_results, name, year)
return await self.identify_movie(search["id"]) return await self.identify_movie(search["id"], original_language=search["original_language"])
async def identify_movie(self, movie_id: str) -> Movie: async def identify_movie(self, movie_id: str, original_language: str) -> Movie:
languages = self.get_languages() languages = self.get_languages()
async def for_language(lng: str) -> Movie: async def for_language(lng: str) -> Movie:
@ -196,7 +196,7 @@ class TheMovieDatabase(Provider):
params={ params={
"language": lng, "language": lng,
"append_to_response": "alternative_titles,videos,credits,keywords,images", "append_to_response": "alternative_titles,videos,credits,keywords,images",
"include_image_language": f"{lng_iso639_1},{','.join(get_iso_639_1_codes())},null", "include_image_language": f"{lng_iso639_1},null,{original_language}",
}, },
) )
logger.debug("TMDb responded: %s", movie) logger.debug("TMDb responded: %s", movie)
@ -293,7 +293,7 @@ class TheMovieDatabase(Provider):
params={ params={
"language": lng, "language": lng,
"append_to_response": "alternative_titles,videos,credits,keywords,images,external_ids", "append_to_response": "alternative_titles,videos,credits,keywords,images,external_ids",
"include_image_language": f"{lng_iso639_1},{','.join(get_iso_639_1_codes())},null", "include_image_language": f"{lng_iso639_1},null,en",
}, },
) )
logger.debug("TMDb responded: %s", show) logger.debug("TMDb responded: %s", show)

View File

@ -3,7 +3,7 @@ from __future__ import annotations
import os import os
from datetime import date from datetime import date
from itertools import chain from itertools import chain
from langcodes import Language, LANGUAGE_ALPHA3 from langcodes import Language
from typing import TYPE_CHECKING, Literal, Any, Optional from typing import TYPE_CHECKING, Literal, Any, Optional
if TYPE_CHECKING: if TYPE_CHECKING:
@ -13,9 +13,6 @@ if TYPE_CHECKING:
from providers.types.episode import Episode from providers.types.episode import Episode
from providers.types.collection import Collection from providers.types.collection import Collection
def get_iso_639_1_codes() -> list[str]:
return [code for code in LANGUAGE_ALPHA3.keys() if len(code) == 2]
def format_date(date: date | int | None) -> str | None: def format_date(date: date | int | None) -> str | None:
if date is None: if date is None:
return None return None