diff options
| author | Bond_009 <bond.009@outlook.com> | 2024-07-17 15:48:21 +0200 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2024-07-17 15:48:21 +0200 |
| commit | ecd2dab0a2550c80ae054576d9c05ddb24d5e47b (patch) | |
| tree | 48d80691cd1287c58722fb1e7aea9e02b4ba410f /MediaBrowser.Providers | |
| parent | 78ed8f660c1acf216cc0133bc709acf09f7a411e (diff) | |
Add TrySetProviderId extension
Diffstat (limited to 'MediaBrowser.Providers')
7 files changed, 23 insertions, 75 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs b/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs index 0083d4f75f..fbafd55187 100644 --- a/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs +++ b/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs @@ -325,39 +325,32 @@ namespace MediaBrowser.Providers.MediaInfo audio.NormalizationGain = (float)tags.ReplayGainTrackGain; } - if ((options.ReplaceAllMetadata || !audio.TryGetProviderId(MetadataProvider.MusicBrainzArtist, out _)) - && !string.IsNullOrEmpty(tags.MusicBrainzArtistId)) + if (options.ReplaceAllMetadata || !audio.HasProviderId(MetadataProvider.MusicBrainzArtist)) { - audio.SetProviderId(MetadataProvider.MusicBrainzArtist, tags.MusicBrainzArtistId); + audio.TrySetProviderId(MetadataProvider.MusicBrainzArtist, tags.MusicBrainzArtistId); } - if ((options.ReplaceAllMetadata || !audio.TryGetProviderId(MetadataProvider.MusicBrainzAlbumArtist, out _)) - && !string.IsNullOrEmpty(tags.MusicBrainzReleaseArtistId)) + if (options.ReplaceAllMetadata || !audio.HasProviderId(MetadataProvider.MusicBrainzAlbumArtist)) { - audio.SetProviderId(MetadataProvider.MusicBrainzAlbumArtist, tags.MusicBrainzReleaseArtistId); + audio.TrySetProviderId(MetadataProvider.MusicBrainzAlbumArtist, tags.MusicBrainzReleaseArtistId); } - if ((options.ReplaceAllMetadata || !audio.TryGetProviderId(MetadataProvider.MusicBrainzAlbum, out _)) - && !string.IsNullOrEmpty(tags.MusicBrainzReleaseId)) + if (options.ReplaceAllMetadata || !audio.HasProviderId(MetadataProvider.MusicBrainzAlbum)) { - audio.SetProviderId(MetadataProvider.MusicBrainzAlbum, tags.MusicBrainzReleaseId); + audio.TrySetProviderId(MetadataProvider.MusicBrainzAlbum, tags.MusicBrainzReleaseId); } - if ((options.ReplaceAllMetadata || !audio.TryGetProviderId(MetadataProvider.MusicBrainzReleaseGroup, out _)) - && !string.IsNullOrEmpty(tags.MusicBrainzReleaseGroupId)) + if (options.ReplaceAllMetadata || !audio.HasProviderId(MetadataProvider.MusicBrainzReleaseGroup)) { - audio.SetProviderId(MetadataProvider.MusicBrainzReleaseGroup, tags.MusicBrainzReleaseGroupId); + audio.TrySetProviderId(MetadataProvider.MusicBrainzReleaseGroup, tags.MusicBrainzReleaseGroupId); } - if (options.ReplaceAllMetadata || !audio.TryGetProviderId(MetadataProvider.MusicBrainzTrack, out _)) + if (options.ReplaceAllMetadata || !audio.HasProviderId(MetadataProvider.MusicBrainzTrack)) { // Fallback to ffprobe as TagLib incorrectly provides recording MBID in `tags.MusicBrainzTrackId`. // See https://github.com/mono/taglib-sharp/issues/304 var trackMbId = mediaInfo.GetProviderId(MetadataProvider.MusicBrainzTrack); - if (trackMbId is not null) - { - audio.SetProviderId(MetadataProvider.MusicBrainzTrack, trackMbId); - } + audio.TrySetProviderId(MetadataProvider.MusicBrainzTrack, trackMbId); } // Save extracted lyrics if they exist, diff --git a/MediaBrowser.Providers/Plugins/Omdb/OmdbProvider.cs b/MediaBrowser.Providers/Plugins/Omdb/OmdbProvider.cs index c750caa1c9..de0da7f7bd 100644 --- a/MediaBrowser.Providers/Plugins/Omdb/OmdbProvider.cs +++ b/MediaBrowser.Providers/Plugins/Omdb/OmdbProvider.cs @@ -220,10 +220,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb item.HomePageUrl = result.Website; } - if (!string.IsNullOrWhiteSpace(result.imdbID)) - { - item.SetProviderId(MetadataProvider.Imdb, result.imdbID); - } + item.TrySetProviderId(MetadataProvider.Imdb, result.imdbID); ParseAdditionalMetadata(itemResult, result, isEnglishRequested); diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs index dac7a74ed8..8d68e2dcfe 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs @@ -81,11 +81,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies } remoteResult.SetProviderId(MetadataProvider.Tmdb, movie.Id.ToString(CultureInfo.InvariantCulture)); - - if (!string.IsNullOrWhiteSpace(movie.ImdbId)) - { - remoteResult.SetProviderId(MetadataProvider.Imdb, movie.ImdbId); - } + remoteResult.TrySetProviderId(MetadataProvider.Imdb, movie.ImdbId); return new[] { remoteResult }; } diff --git a/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs index 5c6e71fd89..98c46895d7 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs @@ -56,10 +56,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.People } result.SetProviderId(MetadataProvider.Tmdb, personResult.Id.ToString(CultureInfo.InvariantCulture)); - if (!string.IsNullOrEmpty(personResult.ExternalIds.ImdbId)) - { - result.SetProviderId(MetadataProvider.Imdb, personResult.ExternalIds.ImdbId); - } + result.TrySetProviderId(MetadataProvider.Imdb, personResult.ExternalIds.ImdbId); return new[] { result }; } @@ -129,11 +126,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.People } item.SetProviderId(MetadataProvider.Tmdb, person.Id.ToString(CultureInfo.InvariantCulture)); - - if (!string.IsNullOrEmpty(person.ImdbId)) - { - item.SetProviderId(MetadataProvider.Imdb, person.ImdbId); - } + item.TrySetProviderId(MetadataProvider.Imdb, person.ImdbId); result.HasMetadata = true; result.Item = item; diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs index 489f5e2a17..e628abde55 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs @@ -187,20 +187,9 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV }; var externalIds = episodeResult.ExternalIds; - if (!string.IsNullOrEmpty(externalIds?.TvdbId)) - { - item.SetProviderId(MetadataProvider.Tvdb, externalIds.TvdbId); - } - - if (!string.IsNullOrEmpty(externalIds?.ImdbId)) - { - item.SetProviderId(MetadataProvider.Imdb, externalIds.ImdbId); - } - - if (!string.IsNullOrEmpty(externalIds?.TvrageId)) - { - item.SetProviderId(MetadataProvider.TvRage, externalIds.TvrageId); - } + item.TrySetProviderId(MetadataProvider.Tvdb, externalIds?.TvdbId); + item.TrySetProviderId(MetadataProvider.Imdb, externalIds?.ImdbId); + item.TrySetProviderId(MetadataProvider.TvRage, externalIds?.TvrageId); if (episodeResult.Videos?.Results is not null) { diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs index 10efb68b94..3f208b5993 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs @@ -73,10 +73,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV result.Item.Name = seasonResult.Name; } - if (!string.IsNullOrEmpty(seasonResult.ExternalIds?.TvdbId)) - { - result.Item.SetProviderId(MetadataProvider.Tvdb, seasonResult.ExternalIds.TvdbId); - } + result.Item.TrySetProviderId(MetadataProvider.Tvdb, seasonResult.ExternalIds.TvdbId); // TODO why was this disabled? var credits = seasonResult.Credits; diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs index d8476bd47d..e4062740fe 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs @@ -135,15 +135,9 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV remoteResult.SetProviderId(MetadataProvider.Tmdb, series.Id.ToString(CultureInfo.InvariantCulture)); if (series.ExternalIds is not null) { - if (!string.IsNullOrEmpty(series.ExternalIds.ImdbId)) - { - remoteResult.SetProviderId(MetadataProvider.Imdb, series.ExternalIds.ImdbId); - } + remoteResult.TrySetProviderId(MetadataProvider.Imdb, series.ExternalIds.ImdbId); - if (!string.IsNullOrEmpty(series.ExternalIds.TvdbId)) - { - remoteResult.SetProviderId(MetadataProvider.Tvdb, series.ExternalIds.TvdbId); - } + remoteResult.TrySetProviderId(MetadataProvider.Tvdb, series.ExternalIds.TvdbId); } remoteResult.PremiereDate = series.FirstAirDate?.ToUniversalTime(); @@ -289,20 +283,9 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV var ids = seriesResult.ExternalIds; if (ids is not null) { - if (!string.IsNullOrWhiteSpace(ids.ImdbId)) - { - series.SetProviderId(MetadataProvider.Imdb, ids.ImdbId); - } - - if (!string.IsNullOrEmpty(ids.TvrageId)) - { - series.SetProviderId(MetadataProvider.TvRage, ids.TvrageId); - } - - if (!string.IsNullOrEmpty(ids.TvdbId)) - { - series.SetProviderId(MetadataProvider.Tvdb, ids.TvdbId); - } + series.TrySetProviderId(MetadataProvider.Imdb, ids.ImdbId); + series.TrySetProviderId(MetadataProvider.TvRage, ids.TvrageId); + series.TrySetProviderId(MetadataProvider.Tvdb, ids.TvdbId); } var contentRatings = seriesResult.ContentRatings.Results ?? new List<ContentRating>(); |
