diff --git a/scanner/providers/implementations/themoviedatabase.py b/scanner/providers/implementations/themoviedatabase.py index db7ad060..93bdc8f5 100644 --- a/scanner/providers/implementations/themoviedatabase.py +++ b/scanner/providers/implementations/themoviedatabase.py @@ -5,7 +5,7 @@ from logging import getLogger from typing import Awaitable, Callable, Dict, List, Optional, Any, TypeVar 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 ..provider import Provider @@ -184,9 +184,9 @@ class TheMovieDatabase(Provider): if len(search_results) == 0: raise ProviderError(f"No result for a movie named: {name}") 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() async def for_language(lng: str) -> Movie: @@ -196,7 +196,7 @@ class TheMovieDatabase(Provider): params={ "language": lng, "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) @@ -293,7 +293,7 @@ class TheMovieDatabase(Provider): params={ "language": lng, "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) diff --git a/scanner/providers/utils.py b/scanner/providers/utils.py index 79bbaeba..c8fae98d 100644 --- a/scanner/providers/utils.py +++ b/scanner/providers/utils.py @@ -3,7 +3,7 @@ from __future__ import annotations import os from datetime import date from itertools import chain -from langcodes import Language, LANGUAGE_ALPHA3 +from langcodes import Language from typing import TYPE_CHECKING, Literal, Any, Optional if TYPE_CHECKING: @@ -13,9 +13,6 @@ if TYPE_CHECKING: from providers.types.episode import Episode 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: if date is None: return None