From b3792761c4dc45e133e2a98b3808507db81f3bd1 Mon Sep 17 00:00:00 2001 From: cxfksword <718792+cxfksword@users.noreply.github.com> Date: Wed, 18 Jan 2023 18:25:58 +0800 Subject: [PATCH] Fix variety show actor list --- Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs | 2 +- Jellyfin.Plugin.MetaShark/Api/DoubanApi.cs | 5 ----- Jellyfin.Plugin.MetaShark/Model/DoubanSubject.cs | 4 ++-- Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs | 6 ++++++ Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs b/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs index 07f3398..07fda54 100644 --- a/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs @@ -31,7 +31,7 @@ namespace Jellyfin.Plugin.MetaShark.Test [TestMethod] public void TestGetMetadata() { - var info = new SeriesInfo() { Name = "外科医生奉达熙", ProviderIds = new Dictionary() { { BaseProvider.DoubanProviderId, "2241528" } } }; + var info = new SeriesInfo() { Name = "奔跑吧兄弟" }; var doubanApi = new DoubanApi(loggerFactory); var tmdbApi = new TmdbApi(loggerFactory); var omdbApi = new OmdbApi(loggerFactory); diff --git a/Jellyfin.Plugin.MetaShark/Api/DoubanApi.cs b/Jellyfin.Plugin.MetaShark/Api/DoubanApi.cs index 5b0c424..01a9449 100644 --- a/Jellyfin.Plugin.MetaShark/Api/DoubanApi.cs +++ b/Jellyfin.Plugin.MetaShark/Api/DoubanApi.cs @@ -450,11 +450,6 @@ namespace Jellyfin.Plugin.MetaShark.Api celebrityRole = celebrityRoleType; } - if (celebrityRoleType != "导演" && celebrityRoleType != "配音" && celebrityRoleType != "演员") - { - continue; - } - var celebrity = new DoubanCelebrity(); celebrity.Id = celebrityId; celebrity.Name = celebrityName; diff --git a/Jellyfin.Plugin.MetaShark/Model/DoubanSubject.cs b/Jellyfin.Plugin.MetaShark/Model/DoubanSubject.cs index db5dde2..b65a398 100644 --- a/Jellyfin.Plugin.MetaShark/Model/DoubanSubject.cs +++ b/Jellyfin.Plugin.MetaShark/Model/DoubanSubject.cs @@ -132,10 +132,10 @@ namespace Jellyfin.Plugin.MetaShark.Model { if (string.IsNullOrEmpty(this._roleType)) { - return this.Role.Equals("导演", StringComparison.Ordinal) ? MediaBrowser.Model.Entities.PersonType.Director : MediaBrowser.Model.Entities.PersonType.Actor; + return this.Role.Contains("导演", StringComparison.Ordinal) ? MediaBrowser.Model.Entities.PersonType.Director : MediaBrowser.Model.Entities.PersonType.Actor; } - return this._roleType.Equals("导演", StringComparison.Ordinal) ? MediaBrowser.Model.Entities.PersonType.Director : MediaBrowser.Model.Entities.PersonType.Actor; + return this._roleType.Contains("导演", StringComparison.Ordinal) ? MediaBrowser.Model.Entities.PersonType.Director : MediaBrowser.Model.Entities.PersonType.Actor; } set { diff --git a/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs index 7612840..19fe567 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs @@ -51,6 +51,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers protected readonly IHttpContextAccessor _httpContextAccessor; protected Regex regMetaSourcePrefix = new Regex(@"^\[.+\]", RegexOptions.Compiled); + protected Regex regSeasonNameSuffix = new Regex(@"\s第.季$", RegexOptions.Compiled); protected PluginConfiguration config { @@ -399,5 +400,10 @@ namespace Jellyfin.Plugin.MetaShark.Providers return Path.GetFileNameWithoutExtension(info.Path) ?? info.Name; } + + protected string RemoveSeasonSubfix(string name) + { + return regSeasonNameSuffix.Replace(name, ""); + } } } diff --git a/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs index b867626..a321e14 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs @@ -110,7 +110,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers var item = new Series { ProviderIds = new Dictionary { { DoubanProviderId, subject.Sid }, { Plugin.ProviderId, MetaSource.Douban } }, - Name = subject.Name, + Name = RemoveSeasonSubfix(subject.Name), OriginalTitle = subject.OriginalName, CommunityRating = subject.Rating, Overview = subject.Intro,