update images

This commit is contained in:
Luke Pulverenti
2015-10-25 13:13:30 -04:00
parent 492f897f81
commit 32babe2b94
15 changed files with 103 additions and 250 deletions

View File

@@ -1,29 +1,22 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.MediaInfo;
namespace MediaBrowser.Server.Implementations.LiveTv
{
public class ProgramImageProvider : IDynamicImageProvider, IHasItemChangeMonitor, IHasOrder
{
private readonly ILiveTvManager _liveTvManager;
private readonly IHttpClient _httpClient;
private readonly ILogger _logger;
public ProgramImageProvider(ILiveTvManager liveTvManager, IHttpClient httpClient, ILogger logger)
public ProgramImageProvider(ILiveTvManager liveTvManager)
{
_liveTvManager = liveTvManager;
_httpClient = httpClient;
_logger = logger;
}
public IEnumerable<ImageType> GetSupportedImages(IHasImages item)
@@ -37,43 +30,26 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var imageResponse = new DynamicImageResponse();
if (!string.IsNullOrEmpty(liveTvItem.ExternalImagePath))
var service = _liveTvManager.Services.FirstOrDefault(i => string.Equals(i.Name, liveTvItem.ServiceName, StringComparison.OrdinalIgnoreCase));
if (service != null)
{
if (liveTvItem.ExternalImagePath.StartsWith("http", StringComparison.OrdinalIgnoreCase))
try
{
imageResponse.Path = liveTvItem.ExternalImagePath;
imageResponse.Protocol = MediaProtocol.Http;
imageResponse.HasImage = true;
}
else
{
imageResponse.Path = liveTvItem.ExternalImagePath;
imageResponse.HasImage = true;
}
}
else
{
var service = _liveTvManager.Services.FirstOrDefault(i => string.Equals(i.Name, liveTvItem.ServiceName, StringComparison.OrdinalIgnoreCase));
var channel = _liveTvManager.GetInternalChannel(liveTvItem.ChannelId);
if (service != null)
{
try
{
var channel = _liveTvManager.GetInternalChannel(liveTvItem.ChannelId);
var response = await service.GetProgramImageAsync(liveTvItem.ExternalId, channel.ExternalId, cancellationToken).ConfigureAwait(false);
if (response != null)
{
imageResponse.HasImage = true;
imageResponse.Stream = response.Stream;
imageResponse.Format = response.Format;
}
}
catch (NotImplementedException)
var response = await service.GetProgramImageAsync(liveTvItem.ExternalId, channel.ExternalId, cancellationToken).ConfigureAwait(false);
if (response != null)
{
imageResponse.HasImage = true;
imageResponse.Stream = response.Stream;
imageResponse.Format = response.Format;
}
}
catch (NotImplementedException)
{
}
}
return imageResponse;