Explorar o código

Use TryGetProviderId where possible

Shadowghost hai 3 meses
pai
achega
5ff2767012

+ 2 - 4
MediaBrowser.Controller/Entities/Audio/MusicArtist.cs

@@ -138,11 +138,9 @@ namespace MediaBrowser.Controller.Entities.Audio
         private static List<string> GetUserDataKeys(MusicArtist item)
         {
             var list = new List<string>();
-            var id = item.GetProviderId(MetadataProvider.MusicBrainzArtist);
-
-            if (!string.IsNullOrEmpty(id))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzArtist, out var externalId))
             {
-                list.Add("Artist-Musicbrainz-" + id);
+                list.Add("Artist-Musicbrainz-" + externalId);
             }
 
             list.Add("Artist-" + (item.Name ?? string.Empty).RemoveDiacritics());

+ 1 - 3
MediaBrowser.Providers/Movies/ImdbExternalUrlProvider.cs

@@ -17,9 +17,7 @@ public class ImdbExternalUrlProvider : IExternalUrlProvider
     public IEnumerable<string> GetExternalUrls(BaseItem item)
     {
         var baseUrl = "https://www.imdb.com/";
-        var externalId = item.GetProviderId(MetadataProvider.Imdb);
-
-        if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.Imdb, out var externalId))
         {
             yield return baseUrl + $"title/{externalId}";
         }

+ 1 - 2
MediaBrowser.Providers/Plugins/AudioDb/AudioDbAlbumExternalUrlProvider.cs

@@ -17,8 +17,7 @@ public class AudioDbAlbumExternalUrlProvider : IExternalUrlProvider
     /// <inheritdoc/>
     public IEnumerable<string> GetExternalUrls(BaseItem item)
     {
-        var externalId = item.GetProviderId(MetadataProvider.AudioDbAlbum);
-        if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.AudioDbAlbum, out var externalId))
         {
             var baseUrl = "https://www.theaudiodb.com/";
             switch (item)

+ 2 - 5
MediaBrowser.Providers/Plugins/AudioDb/AudioDbAlbumImageProvider.cs

@@ -4,7 +4,6 @@
 
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using System.Net.Http;
 using System.Text.Json;
 using System.Threading;
@@ -50,9 +49,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
         /// <inheritdoc />
         public async Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, CancellationToken cancellationToken)
         {
-            var id = item.GetProviderId(MetadataProvider.MusicBrainzReleaseGroup);
-
-            if (!string.IsNullOrWhiteSpace(id))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzReleaseGroup, out var id))
             {
                 await AudioDbAlbumProvider.Current.EnsureInfo(id, cancellationToken).ConfigureAwait(false);
 
@@ -70,7 +67,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
                 }
             }
 
-            return Enumerable.Empty<RemoteImageInfo>();
+            return [];
         }
 
         private List<RemoteImageInfo> GetImages(AudioDbAlbumProvider.Album item)

+ 1 - 2
MediaBrowser.Providers/Plugins/AudioDb/AudioDbArtistExternalUrlProvider.cs

@@ -17,8 +17,7 @@ public class AudioDbArtistExternalUrlProvider : IExternalUrlProvider
     /// <inheritdoc/>
     public IEnumerable<string> GetExternalUrls(BaseItem item)
     {
-        var externalId = item.GetProviderId(MetadataProvider.AudioDbArtist);
-        if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.AudioDbArtist, out var externalId))
         {
             var baseUrl = "https://www.theaudiodb.com/";
             switch (item)

+ 5 - 8
MediaBrowser.Providers/Plugins/AudioDb/AudioDbArtistImageProvider.cs

@@ -4,7 +4,6 @@
 
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using System.Net.Http;
 using System.Text.Json;
 using System.Threading;
@@ -43,21 +42,19 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
         /// <inheritdoc />
         public IEnumerable<ImageType> GetSupportedImages(BaseItem item)
         {
-            return new ImageType[]
-            {
+            return
+            [
                 ImageType.Primary,
                 ImageType.Logo,
                 ImageType.Banner,
                 ImageType.Backdrop
-            };
+            ];
         }
 
         /// <inheritdoc />
         public async Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, CancellationToken cancellationToken)
         {
-            var id = item.GetProviderId(MetadataProvider.MusicBrainzArtist);
-
-            if (!string.IsNullOrWhiteSpace(id))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzArtist, out var id))
             {
                 await AudioDbArtistProvider.Current.EnsureArtistInfo(id, cancellationToken).ConfigureAwait(false);
 
@@ -75,7 +72,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
                 }
             }
 
-            return Enumerable.Empty<RemoteImageInfo>();
+            return [];
         }
 
         private List<RemoteImageInfo> GetImages(AudioDbArtistProvider.Artist item)

+ 1 - 2
MediaBrowser.Providers/Plugins/MusicBrainz/MusicBrainzAlbumArtistExternalUrlProvider.cs

@@ -19,8 +19,7 @@ public class MusicBrainzAlbumArtistExternalUrlProvider : IExternalUrlProvider
     {
         if (item is MusicAlbum)
         {
-            var externalId = item.GetProviderId(MetadataProvider.MusicBrainzAlbumArtist);
-            if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.MusicBrainzAlbumArtist, out var externalId))
             {
                 yield return Plugin.Instance!.Configuration.Server + $"/artist/{externalId}";
             }

+ 1 - 2
MediaBrowser.Providers/Plugins/MusicBrainz/MusicBrainzAlbumExternalUrlProvider.cs

@@ -19,8 +19,7 @@ public class MusicBrainzAlbumExternalUrlProvider : IExternalUrlProvider
     {
         if (item is MusicAlbum)
         {
-            var externalId = item.GetProviderId(MetadataProvider.MusicBrainzArtist);
-            if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.MusicBrainzAlbum, out var externalId))
             {
                 yield return Plugin.Instance!.Configuration.Server + $"/release/{externalId}";
             }

+ 1 - 2
MediaBrowser.Providers/Plugins/MusicBrainz/MusicBrainzArtistExternalUrlProvider.cs

@@ -17,8 +17,7 @@ public class MusicBrainzArtistExternalUrlProvider : IExternalUrlProvider
     /// <inheritdoc/>
     public IEnumerable<string> GetExternalUrls(BaseItem item)
     {
-        var externalId = item.GetProviderId(MetadataProvider.MusicBrainzArtist);
-        if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.MusicBrainzArtist, out var externalId))
         {
             switch (item)
             {

+ 1 - 2
MediaBrowser.Providers/Plugins/MusicBrainz/MusicBrainzReleaseGroupExternalUrlProvider.cs

@@ -19,8 +19,7 @@ public class MusicBrainzReleaseGroupExternalUrlProvider : IExternalUrlProvider
     {
         if (item is MusicAlbum)
         {
-            var externalId = item.GetProviderId(MetadataProvider.MusicBrainzReleaseGroup);
-            if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.MusicBrainzReleaseGroup, out var externalId))
             {
                 yield return Plugin.Instance!.Configuration.Server + $"/release-group/{externalId}";
             }

+ 1 - 2
MediaBrowser.Providers/Plugins/MusicBrainz/MusicBrainzTrackExternalUrlProvider.cs

@@ -19,8 +19,7 @@ public class MusicBrainzTrackExternalUrlProvider : IExternalUrlProvider
     {
         if (item is Audio)
         {
-            var externalId = item.GetProviderId(MetadataProvider.MusicBrainzArtist);
-            if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.MusicBrainzTrack, out var externalId))
             {
                 yield return Plugin.Instance!.Configuration.Server + $"/track/{externalId}";
             }

+ 6 - 12
MediaBrowser.Providers/Plugins/Tmdb/TmdbExternalUrlProvider.cs

@@ -23,16 +23,14 @@ public class TmdbExternalUrlProvider : IExternalUrlProvider
         switch (item)
         {
             case Series:
-                var externalId = item.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(externalId))
+                if (item.TryGetProviderId(MetadataProvider.Tmdb, out var externalId))
                 {
                     yield return TmdbUtils.BaseTmdbUrl + $"tv/{externalId}";
                 }
 
                 break;
             case Season season:
-                var seriesExternalId = season.Series.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(seriesExternalId))
+                if (season.Series.TryGetProviderId(MetadataProvider.Tmdb, out var seriesExternalId))
                 {
                     var orderString = season.Series.DisplayOrder;
                     if (string.IsNullOrEmpty(orderString))
@@ -52,8 +50,7 @@ public class TmdbExternalUrlProvider : IExternalUrlProvider
 
                 break;
             case Episode episode:
-                seriesExternalId = episode.Series.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(seriesExternalId))
+                if (episode.Series.TryGetProviderId(MetadataProvider.Imdb, out seriesExternalId))
                 {
                     var orderString = episode.Series.DisplayOrder;
                     if (string.IsNullOrEmpty(orderString))
@@ -73,24 +70,21 @@ public class TmdbExternalUrlProvider : IExternalUrlProvider
 
                 break;
             case Movie:
-                externalId = item.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(externalId))
+                if (item.TryGetProviderId(MetadataProvider.Tmdb, out externalId))
                 {
                     yield return TmdbUtils.BaseTmdbUrl + $"movie/{externalId}";
                 }
 
                 break;
             case Person:
-                externalId = item.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(externalId))
+                if (item.TryGetProviderId(MetadataProvider.Tmdb, out externalId))
                 {
                     yield return TmdbUtils.BaseTmdbUrl + $"person/{externalId}";
                 }
 
                 break;
             case BoxSet:
-                externalId = item.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(externalId))
+                if (item.TryGetProviderId(MetadataProvider.Tmdb, out externalId))
                 {
                     yield return TmdbUtils.BaseTmdbUrl + $"collection/{externalId}";
                 }

+ 1 - 2
MediaBrowser.Providers/TV/Zap2ItExternalUrlProvider.cs

@@ -16,8 +16,7 @@ public class Zap2ItExternalUrlProvider : IExternalUrlProvider
     /// <inheritdoc/>
     public IEnumerable<string> GetExternalUrls(BaseItem item)
     {
-        var externalId = item.GetProviderId(MetadataProvider.Zap2It);
-        if (!string.IsNullOrEmpty(externalId))
+        if (item.TryGetProviderId(MetadataProvider.Zap2It, out var externalId))
         {
             yield return $"http://tvlistings.zap2it.com/overview.html?programSeriesId={externalId}";
          }

+ 12 - 32
MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs

@@ -544,16 +544,13 @@ namespace MediaBrowser.XbmcMetadata.Savers
                 writer.WriteElementString("aspectratio", hasAspectRatio.AspectRatio);
             }
 
-            var tmdbCollection = item.GetProviderId(MetadataProvider.TmdbCollection);
-
-            if (!string.IsNullOrEmpty(tmdbCollection))
+            if (item.TryGetProviderId(MetadataProvider.Tmdb, out var tmdbCollection))
             {
                 writer.WriteElementString("collectionnumber", tmdbCollection);
                 writtenProviderIds.Add(MetadataProvider.TmdbCollection.ToString());
             }
 
-            var imdb = item.GetProviderId(MetadataProvider.Imdb);
-            if (!string.IsNullOrEmpty(imdb))
+            if (item.TryGetProviderId(MetadataProvider.Imdb, out var imdb))
             {
                 if (item is Series)
                 {
@@ -570,16 +567,14 @@ namespace MediaBrowser.XbmcMetadata.Savers
             // Series xml saver already saves this
             if (item is not Series)
             {
-                var tvdb = item.GetProviderId(MetadataProvider.Tvdb);
-                if (!string.IsNullOrEmpty(tvdb))
+                if (item.TryGetProviderId(MetadataProvider.Tvdb, out var tvdb))
                 {
                     writer.WriteElementString("tvdbid", tvdb);
                     writtenProviderIds.Add(MetadataProvider.Tvdb.ToString());
                 }
             }
 
-            var tmdb = item.GetProviderId(MetadataProvider.Tmdb);
-            if (!string.IsNullOrEmpty(tmdb))
+            if (item.TryGetProviderId(MetadataProvider.Tmdb, out var tmdb))
             {
                 writer.WriteElementString("tmdbid", tmdb);
                 writtenProviderIds.Add(MetadataProvider.Tmdb.ToString());
@@ -687,64 +682,49 @@ namespace MediaBrowser.XbmcMetadata.Savers
                 }
             }
 
-            var externalId = item.GetProviderId(MetadataProvider.AudioDbArtist);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.AudioDbArtist, out var externalId))
             {
                 writer.WriteElementString("audiodbartistid", externalId);
                 writtenProviderIds.Add(MetadataProvider.AudioDbArtist.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.AudioDbAlbum);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.AudioDbAlbum, out externalId))
             {
                 writer.WriteElementString("audiodbalbumid", externalId);
                 writtenProviderIds.Add(MetadataProvider.AudioDbAlbum.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.Zap2It);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.Zap2It, out externalId))
             {
                 writer.WriteElementString("zap2itid", externalId);
                 writtenProviderIds.Add(MetadataProvider.Zap2It.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.MusicBrainzAlbum);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzAlbum, out externalId))
             {
                 writer.WriteElementString("musicbrainzalbumid", externalId);
                 writtenProviderIds.Add(MetadataProvider.MusicBrainzAlbum.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.MusicBrainzAlbumArtist);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzAlbumArtist, out externalId))
             {
                 writer.WriteElementString("musicbrainzalbumartistid", externalId);
                 writtenProviderIds.Add(MetadataProvider.MusicBrainzAlbumArtist.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.MusicBrainzArtist);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzArtist, out externalId))
             {
                 writer.WriteElementString("musicbrainzartistid", externalId);
                 writtenProviderIds.Add(MetadataProvider.MusicBrainzArtist.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.MusicBrainzReleaseGroup);
-
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.MusicBrainzReleaseGroup, out externalId))
             {
                 writer.WriteElementString("musicbrainzreleasegroupid", externalId);
                 writtenProviderIds.Add(MetadataProvider.MusicBrainzReleaseGroup.ToString());
             }
 
-            externalId = item.GetProviderId(MetadataProvider.TvRage);
-            if (!string.IsNullOrEmpty(externalId))
+            if (item.TryGetProviderId(MetadataProvider.TvRage, out externalId))
             {
                 writer.WriteElementString("tvrageid", externalId);
                 writtenProviderIds.Add(MetadataProvider.TvRage.ToString());

+ 1 - 3
MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs

@@ -91,9 +91,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
         /// <inheritdoc />
         protected override void WriteCustomElements(BaseItem item, XmlWriter writer)
         {
-            var imdb = item.GetProviderId(MetadataProvider.Imdb);
-
-            if (!string.IsNullOrEmpty(imdb))
+            if (item.TryGetProviderId(MetadataProvider.Imdb, out var imdb))
             {
                 writer.WriteElementString("id", imdb);
             }

+ 1 - 3
MediaBrowser.XbmcMetadata/Savers/SeriesNfoSaver.cs

@@ -54,9 +54,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
         {
             var series = (Series)item;
 
-            var tvdb = item.GetProviderId(MetadataProvider.Tvdb);
-
-            if (!string.IsNullOrEmpty(tvdb))
+            if (item.TryGetProviderId(MetadataProvider.Tvdb, out var tvdb))
             {
                 writer.WriteElementString("id", tvdb);
 

+ 4 - 9
src/Jellyfin.LiveTv/Recordings/RecordingsMetadataManager.cs

@@ -344,15 +344,12 @@ public class RecordingsMetadataManager
                     await writer.WriteElementStringAsync(null, "credits", null, person).ConfigureAwait(false);
                 }
 
-                var tmdbCollection = item.GetProviderId(MetadataProvider.TmdbCollection);
-
-                if (!string.IsNullOrEmpty(tmdbCollection))
+                if (item.TryGetProviderId(MetadataProvider.TmdbCollection, out var tmdbCollection))
                 {
                     await writer.WriteElementStringAsync(null, "collectionnumber", null, tmdbCollection).ConfigureAwait(false);
                 }
 
-                var imdb = item.GetProviderId(MetadataProvider.Imdb);
-                if (!string.IsNullOrEmpty(imdb))
+                if (item.TryGetProviderId(MetadataProvider.Imdb, out var imdb))
                 {
                     if (!isSeriesEpisode)
                     {
@@ -365,8 +362,7 @@ public class RecordingsMetadataManager
                     lockData = false;
                 }
 
-                var tvdb = item.GetProviderId(MetadataProvider.Tvdb);
-                if (!string.IsNullOrEmpty(tvdb))
+                if (item.TryGetProviderId(MetadataProvider.Tvdb, out var tvdb))
                 {
                     await writer.WriteElementStringAsync(null, "tvdbid", null, tvdb).ConfigureAwait(false);
 
@@ -374,8 +370,7 @@ public class RecordingsMetadataManager
                     lockData = false;
                 }
 
-                var tmdb = item.GetProviderId(MetadataProvider.Tmdb);
-                if (!string.IsNullOrEmpty(tmdb))
+                if (item.TryGetProviderId(MetadataProvider.Tmdb, out var tmdb))
                 {
                     await writer.WriteElementStringAsync(null, "tmdbid", null, tmdb).ConfigureAwait(false);