mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2026-05-06 16:59:22 -05:00
FF-1487 - backed out change
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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.
Reference in New Issue
Block a user