From 02aee9dc9054680e895e8ad83822e026fb445d21 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 20 Nov 2015 23:57:11 -0500 Subject: [PATCH] fix merge conflict --- .../Channels/ChannelManager.cs | 74 ++++++++----------- 1 file changed, 29 insertions(+), 45 deletions(-) diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs index ad9d92c905..b115c3bfdc 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs @@ -104,11 +104,6 @@ namespace MediaBrowser.Server.Implementations.Channels .OrderBy(i => i.Name); } - public IEnumerable GetInstalledChannelIds() - { - return GetAllChannels().Select(i => GetInternalChannelId(i.Name)); - } - public Task> GetChannelsInternal(ChannelQuery query, CancellationToken cancellationToken) { var user = string.IsNullOrWhiteSpace(query.UserId) @@ -413,15 +408,25 @@ namespace MediaBrowser.Server.Implementations.Channels private async Task GetChannel(IChannel channelInfo, CancellationToken cancellationToken) { - var parentFolder = await GetInternalChannelFolder(cancellationToken).ConfigureAwait(false); - var parentFolderId = parentFolder.Id; - var id = GetInternalChannelId(channelInfo.Name); var path = Channel.GetInternalMetadataPath(_config.ApplicationPaths.InternalMetadataPath, id); var isNew = false; - var forceUpdate = false; + + if (!_fileSystem.DirectoryExists(path)) + { + _logger.Debug("Creating directory {0}", path); + + _fileSystem.CreateDirectory(path); + + if (!_fileSystem.DirectoryExists(path)) + { + throw new IOException("Path not created: " + path); + } + + isNew = true; + } var item = _libraryManager.GetItemById(id) as Channel; var channelId = channelInfo.Name.GetMD5().ToString("N"); @@ -433,29 +438,18 @@ namespace MediaBrowser.Server.Implementations.Channels Name = channelInfo.Name, Id = id, DateCreated = _fileSystem.GetCreationTimeUtc(path), - DateModified = _fileSystem.GetLastWriteTimeUtc(path) + DateModified = _fileSystem.GetLastWriteTimeUtc(path), + Path = path, + ChannelId = channelId }; isNew = true; } - if (!string.Equals(item.Path, path, StringComparison.OrdinalIgnoreCase)) - { - isNew = true; - } - item.Path = path; - if (!string.Equals(item.ChannelId, channelId, StringComparison.OrdinalIgnoreCase)) { - forceUpdate = true; - } - item.ChannelId = channelId; - - if (item.ParentId != parentFolderId) - { - forceUpdate = true; + isNew = true; } - item.ParentId = parentFolderId; item.OfficialRating = GetOfficialRating(channelInfo.ParentalRating); item.Overview = channelInfo.Description; @@ -465,17 +459,13 @@ namespace MediaBrowser.Server.Implementations.Channels { item.Name = channelInfo.Name; } - - if (isNew) - { - await _libraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false); - } - else if (forceUpdate) + + await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem) { - await item.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false); - } + ForceSave = isNew + + }, cancellationToken); - await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken); return item; } @@ -1235,7 +1225,6 @@ namespace MediaBrowser.Server.Implementations.Channels { BaseItem item; bool isNew; - bool forceUpdate = false; if (info.Type == ChannelItemType.Folder) { @@ -1265,25 +1254,24 @@ namespace MediaBrowser.Server.Implementations.Channels item.ProductionYear = info.ProductionYear; item.ProviderIds = info.ProviderIds; item.OfficialRating = info.OfficialRating; + item.DateCreated = info.DateCreated ?? DateTime.UtcNow; - item.Tags = info.Tags; } var channelItem = (IChannelItem)item; channelItem.ChannelId = internalChannelId.ToString("N"); - if (item.ParentId != internalChannelId) + if (!string.Equals(channelItem.ExternalId, info.Id, StringComparison.OrdinalIgnoreCase)) { - forceUpdate = true; + isNew = true; } - item.ParentId = internalChannelId; + channelItem.ExternalId = info.Id; - if (!string.Equals(channelItem.ExternalId, info.Id, StringComparison.OrdinalIgnoreCase)) + if (isNew) { - forceUpdate = true; + channelItem.Tags = info.Tags; } - channelItem.ExternalId = info.Id; var channelMediaItem = item as IChannelMediaItem; @@ -1312,10 +1300,6 @@ namespace MediaBrowser.Server.Implementations.Channels await _libraryManager.UpdatePeople(item, info.People ?? new List()).ConfigureAwait(false); } } - else if (forceUpdate) - { - await item.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false); - } return item; }