diff --git a/Jellyfin.Plugin.MetaShark.Test/TmdbApiTest.cs b/Jellyfin.Plugin.MetaShark.Test/TmdbApiTest.cs index 1e0563d..ee1891e 100644 --- a/Jellyfin.Plugin.MetaShark.Test/TmdbApiTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/TmdbApiTest.cs @@ -8,6 +8,7 @@ using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using TMDbLib.Objects.Find; using TMDbLib.Objects.Languages; namespace Jellyfin.Plugin.MetaShark.Test @@ -124,5 +125,27 @@ namespace Jellyfin.Plugin.MetaShark.Test }).GetAwaiter().GetResult(); } + + [TestMethod] + public void TestFindByExternalId() + { + var api = new TmdbApi(loggerFactory); + + Task.Run(async () => + { + try + { + var result = await api.FindByExternalIdAsync("tt5924366", FindExternalSource.Imdb, "zh", CancellationToken.None) + .ConfigureAwait(false); + Assert.IsNotNull(result); + TestContext.WriteLine(result.ToJson()); + } + catch (Exception ex) + { + TestContext.WriteLine(ex.Message); + } + }).GetAwaiter().GetResult(); + } + } } diff --git a/Jellyfin.Plugin.MetaShark/Jellyfin.Plugin.MetaShark.csproj b/Jellyfin.Plugin.MetaShark/Jellyfin.Plugin.MetaShark.csproj index 93372bc..cbc3b63 100644 --- a/Jellyfin.Plugin.MetaShark/Jellyfin.Plugin.MetaShark.csproj +++ b/Jellyfin.Plugin.MetaShark/Jellyfin.Plugin.MetaShark.csproj @@ -25,7 +25,7 @@ - + diff --git a/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs index bf08d91..adce066 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs @@ -351,6 +351,18 @@ namespace Jellyfin.Plugin.MetaShark.Providers this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}"); return $"{tmdbId}"; } + if (findResult?.TvEpisode != null && findResult.TvEpisode.Count > 0) + { + var tmdbId = findResult.TvEpisode[0].ShowId; + this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}"); + return $"{tmdbId}"; + } + if (findResult?.TvSeason != null && findResult.TvSeason.Count > 0) + { + var tmdbId = findResult.TvSeason[0].ShowId; + this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}"); + return $"{tmdbId}"; + } break; default: break; @@ -386,6 +398,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers // 当没有season级目录时,path为空,直接返回 if (string.IsNullOrEmpty(path)) { + this.Log($"Season path is empty!"); return null; }