Browse Source

update configuration for virtual episodes

Luke Pulverenti 11 years ago
parent
commit
6c1c163995

+ 13 - 2
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

+ 13 - 3
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);

+ 0 - 11
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -210,17 +210,6 @@ namespace MediaBrowser.Model.Configuration
 
         public bool EnableVideoImageExtraction { get; set; }
 
-        /// <summary>
-        /// Gets or sets a value indicating whether [create virtual missing episodes].
-        /// </summary>
-        /// <value><c>true</c> if [create virtual missing episodes]; otherwise, <c>false</c>.</value>
-        public bool CreateVirtualMissingEpisodes { get; set; }
-        /// <summary>
-        /// Gets or sets a value indicating whether [create virtual future episodes].
-        /// </summary>
-        /// <value><c>true</c> if [create virtual future episodes]; otherwise, <c>false</c>.</value>
-        public bool CreateVirtualFutureEpisodes { get; set; }
-
         /// <summary>
         /// Gets or sets the image saving convention.
         /// </summary>

+ 4 - 7
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);

+ 1 - 3
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;
 

+ 0 - 1
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",

+ 0 - 6
MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

@@ -332,15 +332,9 @@
     <Content Include="dashboard-ui\gamesystems.html">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="dashboard-ui\metadatatv.html">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="dashboard-ui\scripts\episodes.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="dashboard-ui\scripts\metadatatv.js">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="dashboard-ui\scripts\tvupcoming.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>