From 885287e631eb0b06d574ae0676439e1128d56386 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 6 Nov 2013 10:46:02 -0500 Subject: [PATCH] added manual last fm image provider --- .../MediaBrowser.Providers.csproj | 1 + .../Music/FanArtArtistProvider.cs | 3 -- .../Music/ManualFanartAlbumProvider.cs | 2 +- .../Music/ManualFanartArtistProvider.cs | 2 +- .../Music/ManualLastFmImageProvider.cs | 45 +++++++++++++++++++ MediaBrowser.ServerApplication/App.config | 1 + 6 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 MediaBrowser.Providers/Music/ManualLastFmImageProvider.cs diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj index f4d0ad7eb0..5aa8a0c846 100644 --- a/MediaBrowser.Providers/MediaBrowser.Providers.csproj +++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj @@ -92,6 +92,7 @@ + diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index 51adbc785c..f3ea77584e 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -8,17 +8,14 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Net; using MediaBrowser.Model.Providers; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; -using System.Net; using System.Threading; using System.Threading.Tasks; -using System.Xml; namespace MediaBrowser.Providers.Music { diff --git a/MediaBrowser.Providers/Music/ManualFanartAlbumProvider.cs b/MediaBrowser.Providers/Music/ManualFanartAlbumProvider.cs index bd79da15cc..d95365b02d 100644 --- a/MediaBrowser.Providers/Music/ManualFanartAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/ManualFanartAlbumProvider.cs @@ -325,7 +325,7 @@ namespace MediaBrowser.Providers.Music public int Priority { - get { return 0; } + get { return 1; } } } } diff --git a/MediaBrowser.Providers/Music/ManualFanartArtistProvider.cs b/MediaBrowser.Providers/Music/ManualFanartArtistProvider.cs index 2e4dbe8136..6ff891f608 100644 --- a/MediaBrowser.Providers/Music/ManualFanartArtistProvider.cs +++ b/MediaBrowser.Providers/Music/ManualFanartArtistProvider.cs @@ -334,7 +334,7 @@ namespace MediaBrowser.Providers.Music public int Priority { - get { return 0; } + get { return 1; } } } } diff --git a/MediaBrowser.Providers/Music/ManualLastFmImageProvider.cs b/MediaBrowser.Providers/Music/ManualLastFmImageProvider.cs new file mode 100644 index 0000000000..f4f987b459 --- /dev/null +++ b/MediaBrowser.Providers/Music/ManualLastFmImageProvider.cs @@ -0,0 +1,45 @@ +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Providers.Music +{ + public class ManualLastFmImageProvider : IImageProvider + { + public string Name + { + get { return "last.fm"; } + } + + public bool Supports(BaseItem item) + { + return item is MusicAlbum || item is MusicArtist || item is Artist; + } + + public async Task> GetImages(BaseItem item, ImageType imageType, CancellationToken cancellationToken) + { + var images = await GetAllImages(item, cancellationToken).ConfigureAwait(false); + + return images.Where(i => i.Type == imageType); + } + + public async Task> GetAllImages(BaseItem item, CancellationToken cancellationToken) + { + var list = new List(); + + // The only info we have is size + return list.OrderByDescending(i => i.Width ?? 0); + } + + public int Priority + { + get { return 0; } + } + } +} diff --git a/MediaBrowser.ServerApplication/App.config b/MediaBrowser.ServerApplication/App.config index 4f60de1457..ba6d742140 100644 --- a/MediaBrowser.ServerApplication/App.config +++ b/MediaBrowser.ServerApplication/App.config @@ -19,6 +19,7 @@ +