Fixed: DriveInfo sees snap apps, handle at higher level

This commit is contained in:
Qstick
2019-03-11 21:41:44 -04:00
parent 13a2485972
commit 60284f9ed8
4 changed files with 73 additions and 16 deletions
+13 -3
View File
@@ -127,7 +127,7 @@ namespace NzbDrone.Common.Disk
try
{
var testPath = Path.Combine(path, "Lidarr_write_test.txt");
var testPath = Path.Combine(path, "lidarr_write_test.txt");
var testContent = $"This file was created to verify if '{path}' is writable. It should've been automatically deleted. Feel free to delete it.";
File.WriteAllText(testPath, testContent);
File.Delete(testPath);
@@ -418,7 +418,12 @@ namespace NzbDrone.Common.Disk
return new FileStream(path, FileMode.Create);
}
public virtual List<IMount> GetMounts()
public List<IMount> GetMounts()
{
return GetAllMounts().Where(d => !IsSpecialMount(d)).ToList();
}
protected virtual List<IMount> GetAllMounts()
{
return GetDriveInfoMounts().Where(d => d.DriveType == DriveType.Fixed || d.DriveType == DriveType.Network || d.DriveType == DriveType.Removable)
.Select(d => new DriveInfoMount(d))
@@ -426,11 +431,16 @@ namespace NzbDrone.Common.Disk
.ToList();
}
protected virtual bool IsSpecialMount(IMount mount)
{
return false;
}
public virtual IMount GetMount(string path)
{
try
{
var mounts = GetMounts();
var mounts = GetAllMounts();
return mounts.Where(drive => drive.RootDirectory.PathEquals(path) ||
drive.RootDirectory.IsParentPath(path))