FF-1487 - backed out change

This commit is contained in:
John Andrews
2024-04-20 11:05:40 +12:00
parent d882b88ee3
commit 4d7c7c0eea
4 changed files with 43 additions and 88 deletions
+8 -15
View File
@@ -249,19 +249,20 @@ public class MoveFile : Node
/// <param name="moveFolder">if the relative folder should be also be included, relative to the library</param>
/// <returns>the path and filename</returns>
internal static (string? Path, string? Filename, string? Separator) GetDestinationPathParts(NodeParameters args, string destinationPath, string destinationFile = null, bool moveFolder = false)
{;
var destFilename = FileHelper.GetShortFileName(args.FileName);
{
string separator = args.WorkingFile.IndexOf('/') >= 0 ? "/" : "\\";
string destFolder = args.ReplaceVariables(destinationPath, stripMissing: true);
var separator = destFolder?.IndexOf('/') >= 0 ? "/" : "\\";
destFolder = destFolder.Replace("\\", separator);
destFolder = destFolder.Replace("/", separator);
string destFilename = args.FileName.Replace("\\", separator)
.Replace("/", separator);
destFilename = destFilename.Substring(destFilename.LastIndexOf(separator, StringComparison.Ordinal) + 1);
if (string.IsNullOrEmpty(destFolder))
{
args.Logger?.ELog("No destination specified");
args.Result = NodeResult.Failure;
return (null, null, null);
}
args.Logger?.ILog("Destination Folder: " + destFolder);
args.Result = NodeResult.Failure;
if (moveFolder) // we only want the full directory relative to the library, we don't want the original filename
@@ -295,17 +296,9 @@ public class MoveFile : Node
destFilename = destFilename[..(destFilename.LastIndexOf(".", StringComparison.Ordinal) + 1)] + workingExtension;
}
if (args.FileService?.GetType().Name == "MappedFileService")
{
args.Logger?.ILog("Final destination path (not mapped): " + destFolder);
args.Logger?.ILog("Final destination filename (not mapped): " + destFilename);
}
else
{
args.Logger?.ILog("Final destination path: " + destFolder);
args.Logger?.ILog("Final destination filename: " + destFilename);
}
args.Logger?.ILog("Final destination path: " + destFolder);
args.Logger?.ILog("Final destination filename: " + destFilename);
return (destFolder, destFilename, separator);
}
}
+35 -73
View File
@@ -18,52 +18,21 @@ public class MoveTests
{
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Extension"] = "mkv";
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Name}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
}
[TestMethod]
public void MoveTests_Variable_Filename_Linux()
{
var logger = new TestLogger();
string shortname = Guid.NewGuid().ToString();
var args = new FileFlows.Plugin.NodeParameters($@"D:\fileflows\temp\runner\{shortname}.mp4", logger, false, string.Empty, null);
args.Variables["file.Orig.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.Orig.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["file.Orig.Extension"] = "mkv";
args.Variables["file.Orig.FullName"] = "/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.Name"] = shortname + ".mp4";
args.Variables["file.NameNoExtension"] = shortname;
args.Variables["ext"] = "mp4";
args.Variables["file.Extension"] = "mp4";
string dest = MoveFile.GetDestinationPath(args, @"\\10.0.0.1\media\converted", "{file.Name}");
Assert.AreEqual($@"\\10.0.0.1\media\converted\{shortname}.mp4", dest);
}
[TestMethod]
public void MoveTests_Variable_FilenameExt()
{
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Extension"] = "mkv";
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Name}{file.Extension}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
}
[TestMethod]
@@ -71,15 +40,11 @@ public class MoveTests
{
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Extension"] = "mkv";
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.NameNoExtension}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.mkv", dest);
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.mkv", dest);
}
[TestMethod]
@@ -87,15 +52,11 @@ public class MoveTests
{
var logger = new TestLogger();
var args = new NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Extension"] = "mkv";
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Name}{ext}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
}
[TestMethod]
@@ -103,44 +64,32 @@ public class MoveTests
{
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Orig.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.Orig.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Orig.Extension"] = "mkv";
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Orig.Name}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Orig.FileName}");
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
}
[TestMethod]
public void MoveTests_Variable_Original_FilenameExt()
{
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Orig.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.Orig.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Orig.Extension"] = "mkv";
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Orig.Name}{file.Orig.Extension}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Orig.FileName}{file.Orig.Extension}");
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.s01e15-1080p.mkv", dest);
}
[TestMethod]
public void MoveTests_Variable_Original_NoExtension()
{
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(@"/home/user/test/tv4a-starwarsrebels.s01e15-1080p.mkv", logger, false, string.Empty, null);
args.Variables["file.Orig.Name"] = "tv4a-starwarsrebels.s01e15-1080p.mkv";
args.Variables["file.Orig.NameNoExtension"] = "tv4a-starwarsrebels.s01e15-1080p";
args.Variables["ext"] = "mkv";
args.Variables["file.Orig.Extension"] = "mkv";
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Orig.NameNoExtension}");
Assert.AreEqual(@"D:\test\tv4a-starwarsrebels.mkv", dest);
// ensure we dont double up the extension after FF-154
string dest = MoveFile.GetDestinationPath(args, @"D:\test", "{file.Orig.FileNameNoExtension}");
Assert.AreEqual(@"D:/test/tv4a-starwarsrebels.mkv", dest);
}
[TestMethod]
@@ -149,16 +98,29 @@ public class MoveTests
var logger = new TestLogger();
var args = new NodeParameters(@"\\tower\downloads\downloaded\tv\The.Walking.Dead.Dead.City.S01E04\some-file.mkv", logger, false, string.Empty, null);
args.RelativeFile = @"The.Walking.Dead.Dead.City.S01E04\some-file.mkv";
args.Variables["file.Name"] = "some-file.mkv";
args.Variables["file.NameNoExtension"] = "some-file";
args.Variables["ext"] = "mkv";
args.Variables["file.Orig.Extension"] = "mkv";
string dest = MoveFile.GetDestinationPath(args, @"\\tower\downloads\converted\tv", null, moveFolder:true);
Assert.AreEqual(@"\\tower\downloads\converted\tv\The.Walking.Dead.Dead.City.S01E04\some-file.mkv", dest);
}
/// <summary>
/// Tests that confirms additional files are moved
/// </summary>
[TestMethod]
public void MoveTests_AdditionalFiles()
{
var logger = new TestLogger();
var args = new NodeParameters(@"/home/john/Videos/move-me/dir/basic.mkv", logger, false, string.Empty, null);
var ele = new MoveFile();
ele.AdditionalFiles = new[] { "*.srt" };
ele.DestinationPath = "/home/john/Videos/converted";
var result = ele.Execute(args);
var log = logger.ToString();
Assert.AreEqual(1, result);
}
}
#endif
Binary file not shown.
Binary file not shown.