From 6c1c16399573d47e269688df98a30d19bd0b73f4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 25 Oct 2013 10:18:53 -0400 Subject: [PATCH] update configuration for virtual episodes --- MediaBrowser.Controller/Entities/BaseItem.cs | 15 +++++++++++++-- MediaBrowser.Controller/Entities/Folder.cs | 16 +++++++++++++--- .../Configuration/ServerConfiguration.cs | 11 ----------- MediaBrowser.Providers/TV/SeriesPostScanTask.cs | 11 ++++------- .../Dto/DtoService.cs | 4 +--- .../Api/DashboardService.cs | 1 - .../MediaBrowser.WebDashboard.csproj | 6 ------ 7 files changed, 31 insertions(+), 33 deletions(-) diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 3f670b807f..77cc541675 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -357,7 +357,10 @@ namespace MediaBrowser.Controller.Entities { var path = Path; - if (LocationType == LocationType.Remote || LocationType == LocationType.Virtual) + var locationType = LocationType; + + if (locationType == LocationType.Remote || + locationType == LocationType.Virtual) { return new ItemResolveArgs(ConfigurationManager.ApplicationPaths, LibraryManager); } @@ -1499,7 +1502,7 @@ namespace MediaBrowser.Controller.Entities BackdropImagePaths.Remove(file); RemoveImageSourceForPath(file); - + // Delete the source file DeleteImagePath(file); } @@ -1720,6 +1723,14 @@ namespace MediaBrowser.Controller.Entities throw new ArgumentNullException("imagePath"); } + var locationType = LocationType; + + if (locationType == LocationType.Remote || + locationType == LocationType.Virtual) + { + return File.GetLastWriteTimeUtc(imagePath); + } + var metaFileEntry = ResolveArgs.GetMetaFileByPath(imagePath); // If we didn't the metafile entry, check the Season diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index faaf2ad8b7..c54b812420 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -796,7 +796,7 @@ namespace MediaBrowser.Controller.Entities foreach (var tuple in list) { - if (tasks.Count > 5) + if (tasks.Count > 7) { await Task.WhenAll(tasks).ConfigureAwait(false); } @@ -1347,7 +1347,12 @@ namespace MediaBrowser.Controller.Entities try { - if (ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase)) + if (LocationType == LocationType.Remote && string.Equals(Path, path, StringComparison.OrdinalIgnoreCase)) + { + return this; + } + + if (LocationType != LocationType.Virtual && ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase)) { return this; } @@ -1358,8 +1363,13 @@ namespace MediaBrowser.Controller.Entities } //this should be functionally equivilent to what was here since it is IEnum and works on a thread-safe copy - return RecursiveChildren.FirstOrDefault(i => + return RecursiveChildren.Where(i => i.LocationType != LocationType.Virtual).FirstOrDefault(i => { + if (i.LocationType == LocationType.Remote) + { + return string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase); + } + try { return i.ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase); diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index 8d03678042..54ab7a5407 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -210,17 +210,6 @@ namespace MediaBrowser.Model.Configuration public bool EnableVideoImageExtraction { get; set; } - /// - /// Gets or sets a value indicating whether [create virtual missing episodes]. - /// - /// true if [create virtual missing episodes]; otherwise, false. - public bool CreateVirtualMissingEpisodes { get; set; } - /// - /// Gets or sets a value indicating whether [create virtual future episodes]. - /// - /// true if [create virtual future episodes]; otherwise, false. - public bool CreateVirtualFutureEpisodes { get; set; } - /// /// Gets or sets the image saving convention. /// diff --git a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs index d35e5e9d84..2e9910aebd 100644 --- a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs +++ b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs @@ -142,12 +142,9 @@ namespace MediaBrowser.Providers.TV var hasNewEpisodes = false; - if (_config.Configuration.CreateVirtualMissingEpisodes || _config.Configuration.CreateVirtualFutureEpisodes) + if (_config.Configuration.EnableInternetProviders) { - if (_config.Configuration.EnableInternetProviders) - { - hasNewEpisodes = await AddMissingEpisodes(series, seriesDataPath, episodeLookup, cancellationToken).ConfigureAwait(false); - } + hasNewEpisodes = await AddMissingEpisodes(series, seriesDataPath, episodeLookup, cancellationToken).ConfigureAwait(false); } if (hasNewEpisodes || anySeasonsRemoved || anyEpisodesRemoved) @@ -202,7 +199,7 @@ namespace MediaBrowser.Providers.TV } var now = DateTime.UtcNow; - if (airDate.Value < now && _config.Configuration.CreateVirtualMissingEpisodes) + if (airDate.Value < now) { // tvdb has a lot of nearly blank episodes _logger.Info("Creating virtual missing episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2); @@ -211,7 +208,7 @@ namespace MediaBrowser.Providers.TV hasChanges = true; } - else if (airDate.Value > now && _config.Configuration.CreateVirtualFutureEpisodes) + else if (airDate.Value > now) { // tvdb has a lot of nearly blank episodes _logger.Info("Creating virtual future episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2); diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index 5f4a6a52f8..65a161821c 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -1166,10 +1166,8 @@ namespace MediaBrowser.Server.Implementations.Dto return; } - var metaFileEntry = item.ResolveArgs.GetMetaFileByPath(path); - // See if we can avoid a file system lookup by looking for the file in ResolveArgs - var dateModified = metaFileEntry == null ? File.GetLastWriteTimeUtc(path) : metaFileEntry.LastWriteTimeUtc; + var dateModified = item.GetImageDateModified(path); ImageSize size; diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 126b8d5caa..e9a88e045f 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -482,7 +482,6 @@ namespace MediaBrowser.WebDashboard.Api "mediaplayer.js", "metadataconfigurationpage.js", "metadataimagespage.js", - "metadatatv.js", "moviegenres.js", "movies.js", "moviepeople.js", diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index b2d9a09457..c8d43d8195 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -332,15 +332,9 @@ PreserveNewest - - PreserveNewest - PreserveNewest - - PreserveNewest - PreserveNewest