< Summary - Jellyfin

Information
Class: MediaBrowser.Providers.Music.AlbumInfoExtensions
Assembly: MediaBrowser.Providers
File(s): /srv/git/jellyfin/MediaBrowser.Providers/Music/AlbumInfoExtensions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 27
Coverable lines: 27
Total lines: 81
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 14
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetAlbumArtist(...)0%2040%
GetReleaseGroupId(...)0%620%
GetReleaseId(...)0%620%
GetMusicBrainzArtistId(...)0%2040%
GetMusicBrainzArtistId(...)0%620%

File(s)

/srv/git/jellyfin/MediaBrowser.Providers/Music/AlbumInfoExtensions.cs

#LineLine coverage
 1#pragma warning disable CS1591
 2
 3using System.Linq;
 4using MediaBrowser.Controller.Providers;
 5using MediaBrowser.Model.Entities;
 6
 7namespace MediaBrowser.Providers.Music
 8{
 9    public static class AlbumInfoExtensions
 10    {
 11        public static string? GetAlbumArtist(this AlbumInfo info)
 12        {
 013            var id = info.SongInfos.SelectMany(i => i.AlbumArtists)
 014                    .FirstOrDefault(i => !string.IsNullOrEmpty(i));
 15
 016            if (!string.IsNullOrEmpty(id))
 17            {
 018                return id;
 19            }
 20
 021            return info.AlbumArtists.Count > 0 ? info.AlbumArtists[0] : default;
 22        }
 23
 24        public static string? GetReleaseGroupId(this AlbumInfo info)
 25        {
 026            var id = info.GetProviderId(MetadataProvider.MusicBrainzReleaseGroup);
 27
 028            if (string.IsNullOrEmpty(id))
 29            {
 030                return info.SongInfos.Select(i => i.GetProviderId(MetadataProvider.MusicBrainzReleaseGroup))
 031                    .FirstOrDefault(i => !string.IsNullOrEmpty(i));
 32            }
 33
 034            return id;
 35        }
 36
 37        public static string? GetReleaseId(this AlbumInfo info)
 38        {
 039            var id = info.GetProviderId(MetadataProvider.MusicBrainzAlbum);
 40
 041            if (string.IsNullOrEmpty(id))
 42            {
 043                return info.SongInfos.Select(i => i.GetProviderId(MetadataProvider.MusicBrainzAlbum))
 044                    .FirstOrDefault(i => !string.IsNullOrEmpty(i));
 45            }
 46
 047            return id;
 48        }
 49
 50        public static string? GetMusicBrainzArtistId(this AlbumInfo info)
 51        {
 052            info.ProviderIds.TryGetValue(MetadataProvider.MusicBrainzAlbumArtist.ToString(), out string? id);
 53
 054            if (string.IsNullOrEmpty(id))
 55            {
 056                info.ArtistProviderIds.TryGetValue(MetadataProvider.MusicBrainzArtist.ToString(), out id);
 57            }
 58
 059            if (string.IsNullOrEmpty(id))
 60            {
 061                return info.SongInfos.Select(i => i.GetProviderId(MetadataProvider.MusicBrainzAlbumArtist))
 062                    .FirstOrDefault(i => !string.IsNullOrEmpty(i));
 63            }
 64
 065            return id;
 66        }
 67
 68        public static string? GetMusicBrainzArtistId(this ArtistInfo info)
 69        {
 070            info.ProviderIds.TryGetValue(MetadataProvider.MusicBrainzArtist.ToString(), out var id);
 71
 072            if (string.IsNullOrEmpty(id))
 73            {
 074                return info.SongInfos.Select(i => i.GetProviderId(MetadataProvider.MusicBrainzAlbumArtist))
 075                    .FirstOrDefault(i => !string.IsNullOrEmpty(i));
 76            }
 77
 078            return id;
 79        }
 80    }
 81}