فهرست منبع

Restore offline functions

Luke Pulverenti 11 سال پیش
والد
کامیت
73dcf0f2e8
1فایلهای تغییر یافته به همراه18 افزوده شده و 5 حذف شده
  1. 18 5
      MediaBrowser.Controller/Entities/Folder.cs

+ 18 - 5
MediaBrowser.Controller/Entities/Folder.cs

@@ -808,9 +808,15 @@ namespace MediaBrowser.Controller.Entities
                     cancellationToken.ThrowIfCancellationRequested();
                     cancellationToken.ThrowIfCancellationRequested();
 
 
                     var child = currentTuple.Item1;
                     var child = currentTuple.Item1;
-
-                    //refresh it
-                    await child.RefreshMetadata(cancellationToken, forceSave: currentTuple.Item2, forceRefresh: forceRefreshMetadata, resetResolveArgs: false).ConfigureAwait(false);
+                    try
+                    {
+                        //refresh it
+                        await child.RefreshMetadata(cancellationToken, forceSave: currentTuple.Item2, forceRefresh: forceRefreshMetadata, resetResolveArgs: false).ConfigureAwait(false);
+                    }
+                    catch (IOException ex)
+                    {
+                        Logger.ErrorException("Error refreshing {0}", ex, child.Path ?? child.Name);
+                    }
 
 
                     // Refresh children if a folder and the item changed or recursive is set to true
                     // Refresh children if a folder and the item changed or recursive is set to true
                     var refreshChildren = child.IsFolder && (currentTuple.Item2 || (recursive.HasValue && recursive.Value));
                     var refreshChildren = child.IsFolder && (currentTuple.Item2 || (recursive.HasValue && recursive.Value));
@@ -845,8 +851,15 @@ namespace MediaBrowser.Controller.Entities
 
 
                         await ((Folder)child).ValidateChildren(innerProgress, cancellationToken, recursive, forceRefreshMetadata).ConfigureAwait(false);
                         await ((Folder)child).ValidateChildren(innerProgress, cancellationToken, recursive, forceRefreshMetadata).ConfigureAwait(false);
 
 
-                        // Some folder providers are unable to refresh until children have been refreshed.
-                        await child.RefreshMetadata(cancellationToken, resetResolveArgs: false).ConfigureAwait(false);
+                        try
+                        {
+                            // Some folder providers are unable to refresh until children have been refreshed.
+                            await child.RefreshMetadata(cancellationToken, resetResolveArgs: false).ConfigureAwait(false);
+                        }
+                        catch (IOException ex)
+                        {
+                            Logger.ErrorException("Error refreshing {0}", ex, child.Path ?? child.Name);
+                        }
                     }
                     }
                     else
                     else
                     {
                     {