mirror of
https://github.com/SabreTools/MPF.git
synced 2026-07-02 17:24:48 +00:00
Remove unnecessary re-splitting of path (fixes #772)
This commit is contained in:
@@ -64,6 +64,7 @@
|
||||
- Add alternate config location
|
||||
- Add safety check around empty config files
|
||||
- Add launch config for CLI
|
||||
- Remove unnecessary re-splitting of path
|
||||
|
||||
### 3.2.4 (2024-11-24)
|
||||
|
||||
|
||||
@@ -108,18 +108,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(7, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM");
|
||||
string baseFilename = "test";
|
||||
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -93,18 +93,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(3, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD");
|
||||
string baseFilename = "test";
|
||||
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -162,18 +162,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(17, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM");
|
||||
string baseFilename = "test";
|
||||
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,18 +72,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(3, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay");
|
||||
string baseFilename = "test";
|
||||
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,18 +105,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(8, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM");
|
||||
string baseFilename = "test";
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,18 +72,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(5, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD");
|
||||
string baseFilename = "test";
|
||||
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,18 +72,20 @@ namespace MPF.Processors.Test
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Invalid_Filled()
|
||||
{
|
||||
string basePath = string.Empty;
|
||||
string? baseDirectory = null;
|
||||
string baseFilename = string.Empty;
|
||||
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Equal(5, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckRequiredFiles_Valid_Empty()
|
||||
{
|
||||
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD", "test");
|
||||
string? baseDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD");
|
||||
string baseFilename = "test";
|
||||
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
|
||||
var actual = processor.CheckRequiredFiles(basePath);
|
||||
var actual = processor.CheckRequiredFiles(baseDirectory, baseFilename);
|
||||
Assert.Empty(actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -187,13 +187,8 @@ namespace MPF.Processors
|
||||
// Sanitize the output filename to strip off any potential extension
|
||||
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
|
||||
|
||||
// Then get the base path for all checking
|
||||
string basePath = outputFilename;
|
||||
if (!string.IsNullOrEmpty(outputDirectory))
|
||||
basePath = Path.Combine(outputDirectory, outputFilename);
|
||||
|
||||
// Finally, let the parameters say if all files exist
|
||||
return CheckRequiredFiles(basePath);
|
||||
return CheckRequiredFiles(outputDirectory, outputFilename);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -328,13 +323,15 @@ namespace MPF.Processors
|
||||
/// <summary>
|
||||
/// Validate if all required output files exist
|
||||
/// </summary>
|
||||
/// <param name="basePath">Base filename and path to use for checking</param>
|
||||
/// <param name="baseDirectory">Base directory to check</param>
|
||||
/// <param name="baseFilename">Base filename template to use</param>
|
||||
/// <returns>A list representing missing files, empty if none</returns>
|
||||
internal List<string> CheckRequiredFiles(string basePath)
|
||||
internal List<string> CheckRequiredFiles(string? baseDirectory, string baseFilename)
|
||||
{
|
||||
// Split the base path for matching
|
||||
string baseDirectory = Path.GetDirectoryName(basePath) ?? string.Empty;
|
||||
string baseFilename = Path.GetFileNameWithoutExtension(basePath);
|
||||
// Assemble a base path
|
||||
string basePath = baseFilename;
|
||||
if (!string.IsNullOrEmpty(baseDirectory))
|
||||
basePath = Path.Combine(baseDirectory, basePath);
|
||||
|
||||
// Get the list of output files
|
||||
var outputFiles = GetOutputFiles(baseDirectory, baseFilename);
|
||||
@@ -371,7 +368,7 @@ namespace MPF.Processors
|
||||
continue;
|
||||
|
||||
// Use the built-in existence function
|
||||
if (outputFile.Exists(baseDirectory))
|
||||
if (outputFile.Exists(baseDirectory ?? string.Empty))
|
||||
continue;
|
||||
|
||||
// If the log archive doesn't exist
|
||||
|
||||
Reference in New Issue
Block a user