Kaynağa Gözat

Merge pull request #1210 from softworkz/SourcePathTooLong

Auto-Organize: PathTooLongException on source file should not break auto-organize task
Luke 9 yıl önce
ebeveyn
işleme
64c1628160

+ 17 - 2
MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs

@@ -35,7 +35,22 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
             _providerManager = providerManager;
         }
 
-        public async Task Organize(TvFileOrganizationOptions options, CancellationToken cancellationToken, IProgress<double> progress)
+        private bool FilterValidVideoFile(FileInfo fileInfo)
+        {
+            try
+            {
+                var fullName = fileInfo.FullName;
+                return _libraryManager.IsVideoFile(fileInfo.FullName);
+            }
+            catch (Exception ex)
+            {
+                _logger.ErrorException("Error organizing file {0}", ex, fileInfo.Name);
+            }
+
+            return false;
+        }
+
+        public async Task Organize(AutoOrganizeOptions options, CancellationToken cancellationToken, IProgress<double> progress)
         {
             var minFileBytes = options.MinFileSizeMb * 1024 * 1024;
 
@@ -43,7 +58,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
 
             var eligibleFiles = watchLocations.SelectMany(GetFilesToOrganize)
                 .OrderBy(_fileSystem.GetCreationTimeUtc)
-                .Where(i => _libraryManager.IsVideoFile(i.FullName) && i.Length >= minFileBytes)
+                .Where(i => FilterValidVideoFile(i) && i.Length >= minFileBytes)
                 .ToList();
 
             var processedFolders = new HashSet<string>();