mirror of
https://github.com/maxdorninger/MediaManager.git
synced 2026-04-17 15:13:24 +02:00
refactor: update metadata methods to include optional language parameter
This commit is contained in:
@@ -18,11 +18,11 @@ class AbstractMetadataProvider(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_show_metadata(self, id: int = None) -> Show:
|
||||
def get_show_metadata(self, id: int = None, language: str | None = None) -> Show:
|
||||
raise NotImplementedError()
|
||||
|
||||
@abstractmethod
|
||||
def get_movie_metadata(self, id: int = None) -> Movie:
|
||||
def get_movie_metadata(self, id: int = None, language: str | None = None) -> Movie:
|
||||
raise NotImplementedError()
|
||||
|
||||
@abstractmethod
|
||||
|
||||
@@ -64,11 +64,13 @@ class TvdbMetadataProvider(AbstractMetadataProvider):
|
||||
log.warning(f"image for show {show.name} could not be downloaded")
|
||||
return False
|
||||
|
||||
def get_show_metadata(self, id: int = None) -> Show:
|
||||
def get_show_metadata(self, id: int = None, language: str | None = None) -> Show:
|
||||
"""
|
||||
|
||||
:param id: the external id of the show
|
||||
:type id: int
|
||||
:param language: does nothing, TVDB does not support multiple languages
|
||||
:type language: str | None
|
||||
:return: returns a ShowMetadata object
|
||||
:rtype: ShowMetadata
|
||||
"""
|
||||
@@ -266,11 +268,13 @@ class TvdbMetadataProvider(AbstractMetadataProvider):
|
||||
log.warning(f"image for show {movie.name} could not be downloaded")
|
||||
return False
|
||||
|
||||
def get_movie_metadata(self, id: int = None) -> Movie:
|
||||
def get_movie_metadata(self, id: int = None, language: str | None = None) -> Movie:
|
||||
"""
|
||||
|
||||
:param id: the external id of the movie
|
||||
:type id: int
|
||||
:param language: does nothing, TVDB does not support multiple languages
|
||||
:type language: str | None
|
||||
:return: returns a Movie object
|
||||
:rtype: Movie
|
||||
"""
|
||||
|
||||
@@ -75,7 +75,7 @@ class MovieService:
|
||||
:param language: Optional language code (ISO 639-1) to fetch metadata in.
|
||||
"""
|
||||
movie_with_metadata = metadata_provider.get_movie_metadata(
|
||||
external_id=external_id, language=language
|
||||
id=external_id, language=language
|
||||
)
|
||||
if not movie_with_metadata:
|
||||
return None
|
||||
@@ -697,7 +697,7 @@ class MovieService:
|
||||
|
||||
# Use stored original_language preference for metadata fetching
|
||||
fresh_movie_data = metadata_provider.get_movie_metadata(
|
||||
external_id=db_movie.external_id, language=db_movie.original_language
|
||||
id=db_movie.external_id, language=db_movie.original_language
|
||||
)
|
||||
if not fresh_movie_data:
|
||||
log.warning(
|
||||
|
||||
Reference in New Issue
Block a user