mirror of https://github.com/lidarr/Lidarr
DiskProvider.MoveFile now overwrites existing file.
This commit is contained in:
parent
d97a1d068c
commit
950b2f0965
|
@ -34,6 +34,20 @@ namespace NzbDrone.Common.Test
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void moveFile_should_overwrite_existing_file()
|
||||||
|
{
|
||||||
|
var diskProvider = new DiskProvider();
|
||||||
|
diskProvider.CopyDirectory(BinFolder.FullName, BinFolderCopy.FullName);
|
||||||
|
|
||||||
|
var targetPath = Path.Combine(BinFolderCopy.FullName, "file.move");
|
||||||
|
|
||||||
|
diskProvider.MoveFile(BinFolderCopy.GetFiles("*.dll", SearchOption.AllDirectories).First().FullName, targetPath);
|
||||||
|
diskProvider.MoveFile(BinFolderCopy.GetFiles("*.dll", SearchOption.AllDirectories).First().FullName, targetPath);
|
||||||
|
|
||||||
|
File.Exists(targetPath).Should().BeTrue();
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void CopyFolder_should_copy_folder()
|
public void CopyFolder_should_copy_folder()
|
||||||
{
|
{
|
||||||
|
@ -45,6 +59,7 @@ namespace NzbDrone.Common.Test
|
||||||
VerifyCopy();
|
VerifyCopy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void CopyFolder_should_overright_existing_folder()
|
public void CopyFolder_should_overright_existing_folder()
|
||||||
{
|
{
|
||||||
|
|
|
@ -98,24 +98,20 @@ namespace NzbDrone.Common
|
||||||
TransferDirectory(subDir.FullName, Path.Combine(target, subDir.Name), transferAction);
|
TransferDirectory(subDir.FullName, Path.Combine(target, subDir.Name), transferAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var file in sourceFolder.GetFiles("*.*", SearchOption.TopDirectoryOnly))
|
foreach (var sourceFile in sourceFolder.GetFiles("*.*", SearchOption.TopDirectoryOnly))
|
||||||
{
|
{
|
||||||
var destFile = Path.Combine(target, file.Name);
|
var destFile = Path.Combine(target, sourceFile.Name);
|
||||||
|
|
||||||
switch (transferAction)
|
switch (transferAction)
|
||||||
{
|
{
|
||||||
case TransferAction.Copy:
|
case TransferAction.Copy:
|
||||||
{
|
{
|
||||||
file.CopyTo(destFile, true);
|
sourceFile.CopyTo(destFile, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TransferAction.Move:
|
case TransferAction.Move:
|
||||||
{
|
{
|
||||||
if (FileExists(destFile))
|
MoveFile(sourceFile.FullName, destFile);
|
||||||
{
|
|
||||||
File.Delete(destFile);
|
|
||||||
}
|
|
||||||
file.MoveTo(destFile);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,6 +126,11 @@ namespace NzbDrone.Common
|
||||||
|
|
||||||
public virtual void MoveFile(string sourcePath, string destinationPath)
|
public virtual void MoveFile(string sourcePath, string destinationPath)
|
||||||
{
|
{
|
||||||
|
if (FileExists(destinationPath))
|
||||||
|
{
|
||||||
|
DeleteFile(destinationPath);
|
||||||
|
}
|
||||||
|
|
||||||
File.Move(sourcePath, destinationPath);
|
File.Move(sourcePath, destinationPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue