MusicBrainzArtistExternalUrlProvider.cs 920 B

1234567891011121314151617181920212223242526272829303132
  1. using System.Collections.Generic;
  2. using MediaBrowser.Controller.Entities;
  3. using MediaBrowser.Controller.Entities.Audio;
  4. using MediaBrowser.Controller.Providers;
  5. using MediaBrowser.Model.Entities;
  6. namespace MediaBrowser.Providers.Plugins.MusicBrainz;
  7. /// <summary>
  8. /// External artist URLs for MusicBrainz.
  9. /// </summary>
  10. public class MusicBrainzArtistExternalUrlProvider : IExternalUrlProvider
  11. {
  12. /// <inheritdoc/>
  13. public string Name => "MusicBrainz Artist";
  14. /// <inheritdoc/>
  15. public IEnumerable<string> GetExternalUrls(BaseItem item)
  16. {
  17. if (item.TryGetProviderId(MetadataProvider.MusicBrainzArtist, out var externalId))
  18. {
  19. switch (item)
  20. {
  21. case MusicAlbum:
  22. case Person:
  23. yield return Plugin.Instance!.Configuration.Server + $"/artist/{externalId}";
  24. break;
  25. }
  26. }
  27. }
  28. }