Use TryGetProviderId where possible

This commit is contained in:
Shadowghost
2025-02-21 11:58:46 +01:00
parent 5303445c9b
commit 5ff2767012
17 changed files with 42 additions and 95 deletions

View File

@@ -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}";
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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}";
}

View File

@@ -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}";
}

View File

@@ -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)
{

View File

@@ -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}";
}

View File

@@ -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}";
}

View File

@@ -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}";
}

View File

@@ -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}";
}