aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-04 13:02:19 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-04 13:02:19 -0400
commitdfe91e43b676915b840f0958e331ba2cb57966d4 (patch)
tree4e1fe02b4b767f3a5b81eb4eefbf97581a8dc37c /MediaBrowser.Providers
parent981973a028f51410b5fcc114d959bcad326aac52 (diff)
Added IDtoService
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs9
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs13
-rw-r--r--MediaBrowser.Providers/Music/LastfmAlbumProvider.cs50
-rw-r--r--MediaBrowser.Providers/TV/FanArtSeasonProvider.cs3
-rw-r--r--MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs3
5 files changed, 50 insertions, 28 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
index 2b856d1108..44bc461f39 100644
--- a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
@@ -39,21 +39,14 @@ namespace MediaBrowser.Providers.MediaInfo
private readonly IMediaEncoder _mediaEncoder;
/// <summary>
- /// The _library manager
- /// </summary>
- private readonly ILibraryManager _libraryManager;
-
- /// <summary>
/// Initializes a new instance of the <see cref="BaseMetadataProvider" /> class.
/// </summary>
/// <param name="logManager">The log manager.</param>
/// <param name="configurationManager">The configuration manager.</param>
- /// <param name="libraryManager">The library manager.</param>
/// <param name="mediaEncoder">The media encoder.</param>
- public AudioImageProvider(ILogManager logManager, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IMediaEncoder mediaEncoder)
+ public AudioImageProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder)
: base(logManager, configurationManager)
{
- _libraryManager = libraryManager;
_mediaEncoder = mediaEncoder;
ImageCache = new FileSystemRepository(Kernel.Instance.FFMpegManager.AudioImagesDataPath);
diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
index 512cef09c0..c048715c3e 100644
--- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
@@ -11,7 +10,6 @@ using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Generic;
using System.Globalization;
-using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -39,24 +37,17 @@ namespace MediaBrowser.Providers.Movies
private readonly IJsonSerializer _jsonSerializer;
/// <summary>
- /// The _HTTP client
- /// </summary>
- private readonly IHttpClient _httpClient;
-
- /// <summary>
/// Initializes a new instance of the <see cref="MovieDbImagesProvider"/> class.
/// </summary>
/// <param name="logManager">The log manager.</param>
/// <param name="configurationManager">The configuration manager.</param>
/// <param name="providerManager">The provider manager.</param>
/// <param name="jsonSerializer">The json serializer.</param>
- /// <param name="httpClient">The HTTP client.</param>
- public MovieDbImagesProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IProviderManager providerManager, IJsonSerializer jsonSerializer, IHttpClient httpClient)
+ public MovieDbImagesProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IProviderManager providerManager, IJsonSerializer jsonSerializer)
: base(logManager, configurationManager)
{
_providerManager = providerManager;
_jsonSerializer = jsonSerializer;
- _httpClient = httpClient;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs b/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs
index e32bf23605..50a5ac8ed2 100644
--- a/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs
+++ b/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs
@@ -69,7 +69,9 @@ namespace MediaBrowser.Providers.Music
protected override async Task FetchLastfmData(BaseItem item, string id, CancellationToken cancellationToken)
{
- var result = await GetAlbumResult(item, cancellationToken).ConfigureAwait(false);
+ var album = (MusicAlbum)item;
+
+ var result = await GetAlbumResult(album, cancellationToken).ConfigureAwait(false);
if (result != null && result.album != null)
{
@@ -83,15 +85,35 @@ namespace MediaBrowser.Providers.Music
item.ProviderData[Id] = data;
}
- data.FileStamp = GetComparisonData(item as MusicAlbum);
+ data.FileStamp = GetComparisonData(album);
}
- private async Task<LastfmGetAlbumResult> GetAlbumResult(BaseItem item, CancellationToken cancellationToken)
+ private async Task<LastfmGetAlbumResult> GetAlbumResult(MusicAlbum item, CancellationToken cancellationToken)
{
- var folder = (Folder)item;
+ // Try album release Id
+ if (!string.IsNullOrEmpty(item.GetProviderId(MetadataProviders.Musicbrainz)))
+ {
+ var result = await GetAlbumResult(item.GetProviderId(MetadataProviders.Musicbrainz), cancellationToken).ConfigureAwait(false);
+
+ if (result != null && result.album != null)
+ {
+ return result;
+ }
+ }
+ // Try album release group Id
+ if (!string.IsNullOrEmpty(item.GetProviderId(MetadataProviders.MusicBrainzReleaseGroup)))
+ {
+ var result = await GetAlbumResult(item.GetProviderId(MetadataProviders.MusicBrainzReleaseGroup), cancellationToken).ConfigureAwait(false);
+
+ if (result != null && result.album != null)
+ {
+ return result;
+ }
+ }
+
// Get each song, distinct by the combination of AlbumArtist and Album
- var songs = folder.RecursiveChildren.OfType<Audio>().DistinctBy(i => (i.AlbumArtist ?? string.Empty) + (i.Album ?? string.Empty), StringComparer.OrdinalIgnoreCase).ToList();
+ var songs = item.RecursiveChildren.OfType<Audio>().DistinctBy(i => (i.AlbumArtist ?? string.Empty) + (i.Album ?? string.Empty), StringComparer.OrdinalIgnoreCase).ToList();
foreach (var song in songs.Where(song => !string.IsNullOrEmpty(song.Album) && !string.IsNullOrEmpty(song.AlbumArtist)))
{
@@ -124,6 +146,24 @@ namespace MediaBrowser.Providers.Music
return JsonSerializer.DeserializeFromStream<LastfmGetAlbumResult>(json);
}
}
+
+ private async Task<LastfmGetAlbumResult> GetAlbumResult(string musicbraizId, CancellationToken cancellationToken)
+ {
+ // Get albu info using artist and album name
+ var url = RootUrl + string.Format("method=album.getInfo&mbid={0}&api_key={1}&format=json", musicbraizId, ApiKey);
+
+ using (var json = await HttpClient.Get(new HttpRequestOptions
+ {
+ Url = url,
+ ResourcePool = LastfmResourcePool,
+ CancellationToken = cancellationToken,
+ EnableHttpCompression = false
+
+ }).ConfigureAwait(false))
+ {
+ return JsonSerializer.DeserializeFromStream<LastfmGetAlbumResult>(json);
+ }
+ }
protected override Task FetchData(BaseItem item, CancellationToken cancellationToken)
{
diff --git a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
index 4999a845df..2104e449ae 100644
--- a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
diff --git a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
index 776cede8ef..2ac201a56b 100644
--- a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;