You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	Empty folder before update instead of deleting it
This commit is contained in:
		| @@ -42,6 +42,7 @@ namespace NzbDrone.Common | ||||
|         void SetPermissions(string filename, WellKnownSidType accountSid, FileSystemRights rights, AccessControlType controlType); | ||||
|         bool IsParent(string parentPath, string childPath); | ||||
|         FileAttributes GetFileAttributes(string path); | ||||
|         void EmptyFolder(string path); | ||||
|     } | ||||
|  | ||||
|     public class DiskProvider : IDiskProvider | ||||
| @@ -352,7 +353,6 @@ namespace NzbDrone.Common | ||||
|             File.WriteAllText(filename, contents); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public void FileSetLastWriteTimeUtc(string path, DateTime dateTime) | ||||
|         { | ||||
|             Ensure.That(() => path).IsValidPath(); | ||||
| @@ -446,5 +446,20 @@ namespace NzbDrone.Common | ||||
|         { | ||||
|             return File.GetAttributes(path); | ||||
|         } | ||||
|  | ||||
|         public void EmptyFolder(string path) | ||||
|         { | ||||
|             Ensure.That(() => path).IsValidPath(); | ||||
|  | ||||
|             foreach (var file in GetFiles(path, SearchOption.TopDirectoryOnly)) | ||||
|             { | ||||
|                 DeleteFile(file); | ||||
|             } | ||||
|  | ||||
|             foreach (var directory in GetDirectories(path)) | ||||
|             { | ||||
|                 DeleteFolder(directory, true); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -64,7 +64,7 @@ namespace NzbDrone.Update.UpdateEngine | ||||
|  | ||||
|                 try | ||||
|                 { | ||||
|                     _diskProvider.DeleteFolder(installationFolder, true); | ||||
|                     _diskProvider.EmptyFolder(installationFolder); | ||||
|                     _diskProvider.CopyFolder(_appFolderInfo.GetUpdatePackageFolder(), installationFolder); | ||||
|                 } | ||||
|                 catch (Exception e) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user