mirror of
				https://github.com/zoriya/Kyoo.git
				synced 2025-11-04 03:27:14 -05:00 
			
		
		
		
	chg: fix: only use 3 languages
This commit is contained in:
		
							parent
							
								
									e403c35741
								
							
						
					
					
						commit
						e73aa83c83
					
				@ -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)
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user