diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-05-20 15:46:28 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-05-20 15:46:28 -0400 |
| commit | b2588b2667adb975b38deb21da129bcbf86638ce (patch) | |
| tree | ad088349ff422539eeb552b01894e49d1f005deb /MediaBrowser.Server.Implementations | |
| parent | 7a11a0b43123930bedfadc67ee554f3c7811bf37 (diff) | |
| parent | 2daf91b3fe04d8fc189773e60d90cec61996b0f5 (diff) | |
Merge pull request #1751 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs | 30 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs | 3 |
2 files changed, 26 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 2de51479f..de75aac9c 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -115,17 +115,13 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV { var recordingFolders = GetRecordingFolders(); - var defaultRecordingPath = DefaultRecordingPath; - if (!recordingFolders.Any(i => i.Locations.Contains(defaultRecordingPath, StringComparer.OrdinalIgnoreCase))) - { - RemovePathFromLibrary(defaultRecordingPath); - } - var virtualFolders = _libraryManager.GetVirtualFolders() .ToList(); var allExistingPaths = virtualFolders.SelectMany(i => i.Locations).ToList(); + var pathsAdded = new List<string>(); + foreach (var recordingFolder in recordingFolders) { var pathsToCreate = recordingFolder.Locations @@ -145,11 +141,33 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV { _logger.ErrorException("Error creating virtual folder", ex); } + + pathsAdded.AddRange(pathsToCreate); + } + + var config = GetConfiguration(); + + var pathsToRemove = config.MediaLocationsCreated + .Except(recordingFolders.SelectMany(i => i.Locations)) + .ToList(); + + if (pathsAdded.Count > 0 || pathsToRemove.Count > 0) + { + pathsAdded.InsertRange(0, config.MediaLocationsCreated); + config.MediaLocationsCreated = pathsAdded.Except(pathsToRemove).Distinct(StringComparer.OrdinalIgnoreCase).ToArray(); + _config.SaveConfiguration("livetv", config); + } + + foreach (var path in pathsToRemove) + { + RemovePathFromLibrary(path); } } private void RemovePathFromLibrary(string path) { + _logger.Debug("Removing path from library: {0}", path); + var requiresRefresh = false; var virtualFolders = _libraryManager.GetVirtualFolders() .ToList(); diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index fdf6599da..91f84e2fe 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1420,8 +1420,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv MediaTypes = new[] { MediaType.Video }, Recursive = true, AncestorIds = folders.Select(i => i.Id.ToString("N")).ToArray(), + IsFolder = false, ExcludeLocationTypes = new[] { LocationType.Virtual }, - Limit = Math.Min(10, query.Limit ?? int.MaxValue), + Limit = Math.Min(200, query.Limit ?? int.MaxValue), SortBy = new[] { ItemSortBy.DateCreated }, SortOrder = SortOrder.Descending }); |
