diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-25 13:13:30 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-25 13:13:30 -0400 |
| commit | 32babe2b941d2f43d9e1c61ceaa58d6d31a9d60f (patch) | |
| tree | d305cff911f90539dca426005cd9f3a6067f51aa /MediaBrowser.Server.Implementations/Channels | |
| parent | 492f897f818abc1a1eee0352864ce4c06de4de1c (diff) | |
update images
Diffstat (limited to 'MediaBrowser.Server.Implementations/Channels')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Channels/ChannelItemImageProvider.cs | 68 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Channels/ChannelManager.cs | 20 |
2 files changed, 11 insertions, 77 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelItemImageProvider.cs b/MediaBrowser.Server.Implementations/Channels/ChannelItemImageProvider.cs deleted file mode 100644 index 7cffa58db..000000000 --- a/MediaBrowser.Server.Implementations/Channels/ChannelItemImageProvider.cs +++ /dev/null @@ -1,68 +0,0 @@ -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Channels; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Model.MediaInfo; - -namespace MediaBrowser.Server.Implementations.Channels -{ - public class ChannelItemImageProvider : IDynamicImageProvider, IHasItemChangeMonitor - { - private readonly IHttpClient _httpClient; - private readonly ILogger _logger; - - public ChannelItemImageProvider(IHttpClient httpClient, ILogger logger) - { - _httpClient = httpClient; - _logger = logger; - } - - public IEnumerable<ImageType> GetSupportedImages(IHasImages item) - { - return new[] { ImageType.Primary }; - } - - public async Task<DynamicImageResponse> GetImage(IHasImages item, ImageType type, CancellationToken cancellationToken) - { - var channelItem = (IChannelItem)item; - - var imageResponse = new DynamicImageResponse(); - - if (!string.IsNullOrEmpty(channelItem.ExternalImagePath)) - { - imageResponse.Path = channelItem.ExternalImagePath; - imageResponse.Protocol = MediaProtocol.Http; - imageResponse.HasImage = true; - } - - return imageResponse; - } - - public string Name - { - get { return "Channel Image Provider"; } - } - - public bool Supports(IHasImages item) - { - return item is IChannelItem; - } - - public bool HasChanged(IHasMetadata item, MetadataStatus status, IDirectoryService directoryService) - { - var channelItem = item as IChannelItem; - - if (channelItem != null) - { - return !channelItem.HasImage(ImageType.Primary) && !string.IsNullOrWhiteSpace(channelItem.ExternalImagePath); - } - return false; - } - } -} diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs index 99d2a03f9..ba759dcb9 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs @@ -216,9 +216,7 @@ namespace MediaBrowser.Server.Implementations.Channels try { - var item = await GetChannel(channelInfo, cancellationToken).ConfigureAwait(false); - - _libraryManager.RegisterItem(item); + await GetChannel(channelInfo, cancellationToken).ConfigureAwait(false); } catch (OperationCanceledException) { @@ -246,8 +244,6 @@ namespace MediaBrowser.Server.Implementations.Channels if (item == null) { item = GetChannel(channel, CancellationToken.None).Result; - - _libraryManager.RegisterItem(item); } return item; @@ -463,7 +459,7 @@ namespace MediaBrowser.Server.Implementations.Channels { item.Name = channelInfo.Name; } - + await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem) { ForceSave = isNew @@ -1264,7 +1260,6 @@ namespace MediaBrowser.Server.Implementations.Channels var channelItem = (IChannelItem)item; - channelItem.ExternalImagePath = info.ImageUrl; channelItem.ChannelId = internalChannelId.ToString("N"); if (!string.Equals(channelItem.ExternalId, info.Id, StringComparison.OrdinalIgnoreCase)) @@ -1291,12 +1286,19 @@ namespace MediaBrowser.Server.Implementations.Channels item.Path = mediaSource == null ? null : mediaSource.Path; } + if (!string.IsNullOrWhiteSpace(info.ImageUrl)) + { + item.SetImagePath(ImageType.Primary, info.ImageUrl); + } + if (isNew) { await _libraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false); - _libraryManager.RegisterItem(item); - await _libraryManager.UpdatePeople(item, info.People ?? new List<PersonInfo>()).ConfigureAwait(false); + if (info.People != null && info.People.Count > 0) + { + await _libraryManager.UpdatePeople(item, info.People ?? new List<PersonInfo>()).ConfigureAwait(false); + } } return item; |
