fix tvdb search not working

This commit is contained in:
maxid
2026-01-02 14:38:58 +01:00
parent edb2001cdc
commit 4841d1ed11

View File

@@ -1,7 +1,6 @@
import requests
import logging
import media_manager.metadataProvider.utils
from media_manager.config import MediaManagerConfig
from media_manager.metadataProvider.abstractMetaDataProvider import (
@@ -11,7 +10,6 @@ from media_manager.metadataProvider.schemas import MetaDataProviderSearchResult
from media_manager.tv.schemas import Episode, Season, Show, SeasonNumber
from media_manager.movies.schemas import Movie
log = logging.getLogger(__name__)
@@ -174,8 +172,11 @@ class TvdbMetadataProvider(AbstractMetadataProvider):
formatted_results.append(
MetaDataProviderSearchResult(
poster_path=result["image"],
overview=result["overview"],
poster_path="https://artworks.thetvdb.com"
+ result.get("image")
if result.get("image")
else None,
overview=result.get("overview"),
name=result["name"],
external_id=result["id"],
year=year,
@@ -191,35 +192,7 @@ class TvdbMetadataProvider(AbstractMetadataProvider):
def search_movie(
self, query: str | None = None
) -> list[MetaDataProviderSearchResult]:
if query is None:
results = self.__get_trending_movies()
results = results[0:20]
log.debug(f"got {len(results)} results from TVDB search")
formatted_results = []
for result in results:
result = self.__get_movie(result["id"])
try:
try:
year = result["year"]
except KeyError:
year = None
formatted_results.append(
MetaDataProviderSearchResult(
poster_path=result["image"],
overview="TVDB does not provide overviews",
name=result["name"],
external_id=result["id"],
year=year,
metadata_provider=self.name,
added=False,
vote_average=None,
)
)
except Exception as e:
log.warning(f"Error processing search result: {e}")
return formatted_results
else:
if query:
results = self.__search_movie(query=query)
results = results[0:20]
log.debug(f"got {len(results)} results from TVDB search")
@@ -238,8 +211,8 @@ class TvdbMetadataProvider(AbstractMetadataProvider):
formatted_results.append(
MetaDataProviderSearchResult(
poster_path=result["image_url"],
overview="TVDB does not provide overviews",
poster_path=result.get("image_url"),
overview=result.get("overview"),
name=result["name"],
external_id=result["tvdb_id"],
year=year,
@@ -251,6 +224,37 @@ class TvdbMetadataProvider(AbstractMetadataProvider):
except Exception as e:
log.warning(f"Error processing search result: {e}")
return formatted_results
else:
results = self.__get_trending_movies()
results = results[0:20]
log.debug(f"got {len(results)} results from TVDB search")
formatted_results = []
for result in results:
result = self.__get_movie(result["id"])
try:
try:
year = result["year"]
except KeyError:
year = None
formatted_results.append(
MetaDataProviderSearchResult(
poster_path="https://artworks.thetvdb.com"
+ result.get("image")
if result.get("image")
else None,
overview=result.get("overview"),
name=result["name"],
external_id=result["id"],
year=year,
metadata_provider=self.name,
added=False,
vote_average=None,
)
)
except Exception as e:
log.warning(f"Error processing search result: {e}")
return formatted_results
def download_movie_poster_image(self, movie: Movie) -> bool:
movie_metadata = self.__get_movie(movie.external_id)