Browse Source

fixed virtual episode image saving

Luke Pulverenti 11 years ago
parent
commit
b487794860

+ 2 - 1
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1530,7 +1530,8 @@ namespace MediaBrowser.Controller.Entities
             }
 
             // Refresh metadata
-            return RefreshMetadata(CancellationToken.None, forceSave: true);
+            // Need to disable slow providers or the image might get re-downloaded
+            return RefreshMetadata(CancellationToken.None, forceSave: true, allowSlowProviders: false);
         }
 
         /// <summary>

+ 1 - 1
MediaBrowser.Providers/TV/SeriesPostScanTask.cs

@@ -211,7 +211,7 @@ namespace MediaBrowser.Providers.TV
                 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);
+                    _logger.Info("Creating virtual unaired episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2);
 
                     await AddEpisode(series, tuple.Item1, tuple.Item2, cancellationToken).ConfigureAwait(false);
 

+ 7 - 17
MediaBrowser.Server.Implementations/Providers/ImageSaver.cs

@@ -67,30 +67,20 @@ namespace MediaBrowser.Server.Implementations.Providers
                 throw new ArgumentNullException("mimeType");
             }
 
-            var saveLocally = _config.Configuration.SaveLocalMeta;
+            var saveLocally = _config.Configuration.SaveLocalMeta || item is IItemByName || item is User;
 
-            if (item is IItemByName)
-            {
-                saveLocally = true;
-            }
-            else if (item is User)
-            {
-                saveLocally = true;
-            }
-            else if (item is Audio || item.Parent == null || string.IsNullOrEmpty(item.MetaLocation))
+            if (item is Audio || item.Parent == null)
             {
                 saveLocally = false;
             }
 
-            if (type != ImageType.Primary)
+            if (type != ImageType.Primary && item is Episode)
             {
-                if (item is Episode)
-                {
-                    saveLocally = false;
-                }
+                saveLocally = false;
             }
 
-            if (item.LocationType == LocationType.Remote || item.LocationType == LocationType.Virtual)
+            var locationType = item.LocationType;
+            if (locationType == LocationType.Remote || locationType == LocationType.Virtual)
             {
                 saveLocally = false;
             }
@@ -373,7 +363,7 @@ namespace MediaBrowser.Server.Implementations.Providers
                     path = GetSavePathForItemInMixedFolder(item, type, filename, extension);
                 }
 
-                if (string.IsNullOrEmpty(path) && !string.IsNullOrEmpty(item.MetaLocation))
+                if (string.IsNullOrEmpty(path))
                 {
                     path = Path.Combine(item.MetaLocation, filename + extension);
                 }