From 84fd884052ea2177c92d144367c4b4ed1dde3b73 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Sun, 8 Dec 2024 15:54:53 +0100 Subject: [PATCH] fix: use tmdb first as metadata provider and fallback to tvdb (#1138) * fix: use tmdb first as metadata provider and fallback to tvdb This PR changes the order of the metadata provider to TMDB first and then fallback to TheTVDB if no TMDB metadata is available. Previously, TheTVDB was used first and there was no fallback if the latter failed. fix #1137 * feat: add logs * fix: add logs * fix: add show name --- server/lib/scanners/jellyfin/index.ts | 37 ++++++++++++++++++++------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/server/lib/scanners/jellyfin/index.ts b/server/lib/scanners/jellyfin/index.ts index f48de70e..b4816ae5 100644 --- a/server/lib/scanners/jellyfin/index.ts +++ b/server/lib/scanners/jellyfin/index.ts @@ -210,14 +210,27 @@ class JellyfinScanner { return; } - if (metadata.ProviderIds.Tvdb) { - tvShow = await this.tmdb.getShowByTvdbId({ - tvdbId: Number(metadata.ProviderIds.Tvdb), - }); - } else if (metadata.ProviderIds.Tmdb) { - tvShow = await this.tmdb.getTvShow({ - tvId: Number(metadata.ProviderIds.Tmdb), - }); + if (metadata.ProviderIds.Tmdb) { + try { + tvShow = await this.tmdb.getTvShow({ + tvId: Number(metadata.ProviderIds.Tmdb), + }); + } catch { + this.log('Unable to find TMDb ID for this title.', 'debug', { + jellyfinitem, + }); + } + } + if (!tvShow && metadata.ProviderIds.Tvdb) { + try { + tvShow = await this.tmdb.getShowByTvdbId({ + tvdbId: Number(metadata.ProviderIds.Tvdb), + }); + } catch { + this.log('Unable to find TVDb ID for this title.', 'debug', { + jellyfinitem, + }); + } } if (tvShow) { @@ -491,7 +504,13 @@ class JellyfinScanner { } }); } else { - this.log(`failed show: ${metadata.Name}`); + this.log( + `No information found for the show: ${metadata.Name}`, + 'debug', + { + jellyfinitem, + } + ); } } catch (e) { this.log(