Enable Check to determine media type automatically

This commit is contained in:
Matt Nadareski
2025-06-17 15:36:23 -04:00
parent bf6b58d64b
commit 11850a8d6b
25 changed files with 607 additions and 605 deletions

View File

@@ -8,6 +8,7 @@
- Fill out DetermineMediaType for Redumper
- Fill out DetermineMediaType for Aaru
- Fill out DetermineMediaType for DiscImageCreator
- Enable Check to determine media type automatically
### 3.3.2 (2025-06-12)

View File

@@ -137,23 +137,23 @@ namespace MPF.CLI
opts.FilePath,
drive,
knownSystem,
mediaType,
options.InternalProgram,
parameters: null);
options.InternalProgram);
env.SetExecutionContext(mediaType, null);
env.SetProcessor();
// Process the parameters
string? paramStr = opts.CustomParams ?? env.GetFullParameters(speed);
string? paramStr = opts.CustomParams ?? env.GetFullParameters(mediaType, speed);
if (string.IsNullOrEmpty(paramStr))
{
DisplayHelp("No valid environment could be created, exiting...");
return;
}
env.SetExecutionContext(paramStr);
env.SetExecutionContext(mediaType, paramStr);
// Invoke the dumping program
Console.WriteLine($"Invoking {options.InternalProgram} using '{paramStr}'");
var dumpResult = env.Run().GetAwaiter().GetResult();
var dumpResult = env.Run(mediaType).GetAwaiter().GetResult();
Console.WriteLine(dumpResult.Message);
if (!dumpResult)
return;
@@ -173,13 +173,13 @@ namespace MPF.CLI
opts.FilePath,
drive,
knownSystem,
mediaType,
internalProgram: null,
parameters: null);
internalProgram: null);
env.SetExecutionContext(mediaType, null);
env.SetProcessor();
}
// Finally, attempt to do the output dance
var verifyResult = env.VerifyAndSaveDumpOutput()
var verifyResult = env.VerifyAndSaveDumpOutput(mediaType: mediaType)
.ConfigureAwait(false).GetAwaiter().GetResult();
Console.WriteLine(verifyResult.Message);
}

View File

@@ -54,7 +54,6 @@ namespace MPF.Check
// Setup common outputs
CommandOptions opts;
MediaType mediaType;
RedumpSystem? knownSystem;
int startIndex;
@@ -62,14 +61,14 @@ namespace MPF.Check
if (args.Length > 0 && (args[0] == "-i" || args[0] == "--interactive"))
{
startIndex = 1;
opts = InteractiveMode(options, out mediaType, out knownSystem);
opts = InteractiveMode(options, out knownSystem);
}
// Use normal commandline parameters
else
{
// Try processing the common arguments
bool success = OptionsLoader.ProcessCommonArguments(args, out mediaType, out knownSystem, out var error);
bool success = OptionsLoader.ProcessCommonArguments(args, out knownSystem, out var error);
if (!success)
{
DisplayHelp(error);
@@ -121,7 +120,12 @@ namespace MPF.Check
if (!string.IsNullOrEmpty(opts.DevicePath))
drive = Drive.Create(null, opts.DevicePath!);
var env = new DumpEnvironment(options, filepath, drive, knownSystem, mediaType, internalProgram: null, parameters: null);
var env = new DumpEnvironment(options,
filepath,
drive,
knownSystem,
internalProgram: null);
env.SetProcessor();
// Finally, attempt to do the output dance
var result = env.VerifyAndSaveDumpOutput(seedInfo: opts.Seed)
@@ -140,7 +144,7 @@ namespace MPF.Check
Console.WriteLine(error);
Console.WriteLine("Usage:");
Console.WriteLine("MPF.Check <mediatype> <system> [options] </path/to/output.cue/iso> ...");
Console.WriteLine("MPF.Check <system> [options] </path/to/output.cue/iso> ...");
Console.WriteLine();
Console.WriteLine("Standalone Options:");
Console.WriteLine("-h, -? Show this help text");
@@ -178,11 +182,10 @@ namespace MPF.Check
/// <summary>
/// Enable interactive mode for entering information
/// </summary>
private static CommandOptions InteractiveMode(Options options, out MediaType mediaType, out RedumpSystem? system)
private static CommandOptions InteractiveMode(Options options, out RedumpSystem? system)
{
// Create return values
var opts = new CommandOptions();
mediaType = MediaType.NONE;
system = null;
// These values require multiple parts to be active
@@ -199,25 +202,24 @@ namespace MPF.Check
Console.WriteLine("MPF.Check Interactive Mode - Main Menu");
Console.WriteLine("-------------------------");
Console.WriteLine();
Console.WriteLine($"1) Set media type (Currently '{mediaType}')");
Console.WriteLine($"2) Set system (Currently '{system}')");
Console.WriteLine($"3) Set dumping program (Currently '{options.InternalProgram}')");
Console.WriteLine($"4) Set seed path (Currently '{opts.Seed}')");
Console.WriteLine($"5) Add placeholders (Currently '{options.AddPlaceholders}')");
Console.WriteLine($"6) Create IRD (Currently '{options.CreateIRDAfterDumping}')");
Console.WriteLine($"7) Attempt Redump matches (Currently '{options.RetrieveMatchInformation}')");
Console.WriteLine($"8) Redump credentials (Currently '{options.RedumpUsername}')");
Console.WriteLine($"9) Pull all information (Currently '{options.PullAllInformation}')");
Console.WriteLine($"A) Set device path (Currently '{opts.DevicePath}')");
Console.WriteLine($"B) Scan for protection (Currently '{scan}')");
Console.WriteLine($"C) Scan archives for protection (Currently '{enableArchives}')");
Console.WriteLine($"D) Debug protection scan output (Currently '{enableDebug}')");
Console.WriteLine($"E) Hide drive letters in protection output (Currently '{hideDriveLetters}')");
Console.WriteLine($"F) Hide filename suffix (Currently '{options.AddFilenameSuffix}')");
Console.WriteLine($"G) Output submission JSON (Currently '{options.OutputSubmissionJSON}')");
Console.WriteLine($"H) Include JSON artifacts (Currently '{options.IncludeArtifacts}')");
Console.WriteLine($"I) Compress logs (Currently '{options.CompressLogFiles}')");
Console.WriteLine($"J) Delete unnecessary files (Currently '{options.DeleteUnnecessaryFiles}')");
Console.WriteLine($"1) Set system (Currently '{system}')");
Console.WriteLine($"2) Set dumping program (Currently '{options.InternalProgram}')");
Console.WriteLine($"3) Set seed path (Currently '{opts.Seed}')");
Console.WriteLine($"4) Add placeholders (Currently '{options.AddPlaceholders}')");
Console.WriteLine($"5) Create IRD (Currently '{options.CreateIRDAfterDumping}')");
Console.WriteLine($"6) Attempt Redump matches (Currently '{options.RetrieveMatchInformation}')");
Console.WriteLine($"7) Redump credentials (Currently '{options.RedumpUsername}')");
Console.WriteLine($"8) Pull all information (Currently '{options.PullAllInformation}')");
Console.WriteLine($"9) Set device path (Currently '{opts.DevicePath}')");
Console.WriteLine($"A) Scan for protection (Currently '{scan}')");
Console.WriteLine($"B) Scan archives for protection (Currently '{enableArchives}')");
Console.WriteLine($"C) Debug protection scan output (Currently '{enableDebug}')");
Console.WriteLine($"D) Hide drive letters in protection output (Currently '{hideDriveLetters}')");
Console.WriteLine($"E) Hide filename suffix (Currently '{options.AddFilenameSuffix}')");
Console.WriteLine($"F) Output submission JSON (Currently '{options.OutputSubmissionJSON}')");
Console.WriteLine($"G) Include JSON artifacts (Currently '{options.IncludeArtifacts}')");
Console.WriteLine($"H) Compress logs (Currently '{options.CompressLogFiles}')");
Console.WriteLine($"I) Delete unnecessary files (Currently '{options.DeleteUnnecessaryFiles}')");
Console.WriteLine();
Console.WriteLine($"Q) Exit the program");
Console.WriteLine($"X) Start checking");
@@ -227,64 +229,61 @@ namespace MPF.Check
switch (result)
{
case "1":
goto mediaType;
case "2":
goto system;
case "3":
case "2":
goto dumpingProgram;
case "4":
case "3":
goto seedPath;
case "5":
case "4":
options.AddPlaceholders = !options.AddPlaceholders;
goto root;
case "6":
case "5":
options.CreateIRDAfterDumping = !options.CreateIRDAfterDumping;
goto root;
case "7":
case "6":
options.RetrieveMatchInformation = !options.RetrieveMatchInformation;
goto root;
case "8":
case "7":
goto redumpCredentials;
case "9":
case "8":
options.PullAllInformation = !options.PullAllInformation;
goto root;
case "9":
goto devicePath;
case "a":
case "A":
goto devicePath;
scan = !scan;
goto root;
case "b":
case "B":
scan = !scan;
enableArchives = !enableArchives;
goto root;
case "c":
case "C":
enableArchives = !enableArchives;
enableDebug = !enableDebug;
goto root;
case "d":
case "D":
enableDebug = !enableDebug;
hideDriveLetters = !hideDriveLetters;
goto root;
case "e":
case "E":
hideDriveLetters = !hideDriveLetters;
options.AddFilenameSuffix = !options.AddFilenameSuffix;
goto root;
case "f":
case "F":
options.AddFilenameSuffix = !options.AddFilenameSuffix;
options.OutputSubmissionJSON = !options.OutputSubmissionJSON;
goto root;
case "g":
case "G":
options.OutputSubmissionJSON = !options.OutputSubmissionJSON;
options.IncludeArtifacts = !options.IncludeArtifacts;
goto root;
case "h":
case "H":
options.IncludeArtifacts = !options.IncludeArtifacts;
options.CompressLogFiles = !options.CompressLogFiles;
goto root;
case "i":
case "I":
options.CompressLogFiles = !options.CompressLogFiles;
goto root;
case "j":
case "J":
options.DeleteUnnecessaryFiles = !options.DeleteUnnecessaryFiles;
goto root;
@@ -308,14 +307,6 @@ namespace MPF.Check
goto root;
}
mediaType:
Console.WriteLine();
Console.WriteLine("Input the media type and press Enter:");
Console.Write("> ");
result = Console.ReadLine();
mediaType = OptionsLoader.ToMediaType(result);
goto root;
system:
Console.WriteLine();
Console.WriteLine("Input the system and press Enter:");

View File

@@ -22,9 +22,15 @@ namespace MPF.Frontend.Test
? Drive.Create(InternalDriveType.Floppy, letter.ToString())
: Drive.Create(InternalDriveType.Optical, letter.ToString());
var env = new DumpEnvironment(options, string.Empty, drive, RedumpSystem.IBMPCcompatible, mediaType, null, parameters);
var env = new DumpEnvironment(options,
string.Empty,
drive,
RedumpSystem.IBMPCcompatible,
null);
env.SetExecutionContext(mediaType, parameters);
env.SetProcessor();
bool actual = env.ParametersValid();
bool actual = env.ParametersValid(mediaType);
Assert.Equal(expected, actual);
}
}

View File

@@ -61,11 +61,6 @@ namespace MPF.Frontend
/// </summary>
private readonly RedumpSystem? _system;
/// <summary>
/// Currently selected media type
/// </summary>
private readonly MediaType? _type;
#endregion
#region Passthrough Fields
@@ -114,16 +109,12 @@ namespace MPF.Frontend
/// <param name="outputPath"></param>
/// <param name="drive"></param>
/// <param name="system"></param>
/// <param name="type"></param>
/// <param name="internalProgram"></param>
/// <param name="parameters"></param>
public DumpEnvironment(Options options,
string? outputPath,
Drive? drive,
RedumpSystem? system,
MediaType? type,
InternalProgram? internalProgram,
string? parameters)
InternalProgram? internalProgram)
{
// Set options object
_options = options;
@@ -134,12 +125,7 @@ namespace MPF.Frontend
// UI information
_drive = drive;
_system = system ?? options.DefaultSystem;
_type = type ?? MediaType.NONE;
_internalProgram = internalProgram ?? options.InternalProgram;
// Dumping program
SetExecutionContext(parameters);
SetProcessor();
}
#region Internal Program Management
@@ -147,28 +133,28 @@ namespace MPF.Frontend
/// <summary>
/// Check output path for matching logs from all dumping programs
/// </summary>
public InternalProgram? CheckForMatchingProgram(string? outputDirectory, string outputFilename)
public InternalProgram? CheckForMatchingProgram(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// If a complete dump exists from a different program
InternalProgram? programFound = null;
if (programFound == null && _internalProgram != InternalProgram.Redumper)
{
var processor = new Processors.Redumper(_system, _type);
var missingFiles = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Processors.Redumper(_system);
var missingFiles = processor.FoundAllFiles(mediaType, outputDirectory, outputFilename);
if (missingFiles.Count == 0)
programFound = InternalProgram.Redumper;
}
if (programFound == null && _internalProgram != InternalProgram.DiscImageCreator)
{
var processor = new Processors.DiscImageCreator(_system, _type);
var missingFiles = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Processors.DiscImageCreator(_system);
var missingFiles = processor.FoundAllFiles(mediaType, outputDirectory, outputFilename);
if (missingFiles.Count == 0)
programFound = InternalProgram.DiscImageCreator;
}
if (programFound == null && _internalProgram != InternalProgram.Aaru)
{
var processor = new Processors.Aaru(_system, _type);
var missingFiles = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Processors.Aaru(_system);
var missingFiles = processor.FoundAllFiles(mediaType, outputDirectory, outputFilename);
if (missingFiles.Count == 0)
programFound = InternalProgram.Aaru;
}
@@ -179,26 +165,26 @@ namespace MPF.Frontend
/// <summary>
/// Check output path for partial logs from all dumping programs
/// </summary>
public InternalProgram? CheckForPartialProgram(string? outputDirectory, string outputFilename)
public InternalProgram? CheckForPartialProgram(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// If a complete dump exists from a different program
InternalProgram? programFound = null;
if (programFound == null && _internalProgram != InternalProgram.Redumper)
{
var processor = new Processors.Redumper(_system, _type);
if (processor.FoundAnyFiles(outputDirectory, outputFilename))
var processor = new Processors.Redumper(_system);
if (processor.FoundAnyFiles(mediaType, outputDirectory, outputFilename))
programFound = InternalProgram.Redumper;
}
if (programFound == null && _internalProgram != InternalProgram.DiscImageCreator)
{
var processor = new Processors.DiscImageCreator(_system, _type);
if (processor.FoundAnyFiles(outputDirectory, outputFilename))
var processor = new Processors.DiscImageCreator(_system);
if (processor.FoundAnyFiles(mediaType, outputDirectory, outputFilename))
programFound = InternalProgram.DiscImageCreator;
}
if (programFound == null && _internalProgram != InternalProgram.Aaru)
{
var processor = new Processors.Aaru(_system, _type);
if (processor.FoundAnyFiles(outputDirectory, outputFilename))
var processor = new Processors.Aaru(_system);
if (processor.FoundAnyFiles(mediaType, outputDirectory, outputFilename))
programFound = InternalProgram.Aaru;
}
@@ -208,8 +194,9 @@ namespace MPF.Frontend
/// <summary>
/// Set the parameters object based on the internal program and parameters string
/// </summary>
/// <param name="mediaType">MediaType for specialized dumping parameters</param>
/// <param name="parameters">String representation of the parameters</param>
public bool SetExecutionContext(string? parameters)
public bool SetExecutionContext(MediaType? mediaType, string? parameters)
{
_executionContext = _internalProgram switch
{
@@ -226,7 +213,7 @@ namespace MPF.Frontend
if (_executionContext != null)
{
_executionContext.RedumpSystem = _system;
_executionContext.MediaType = _type;
_executionContext.MediaType = mediaType;
// Set some parameters, if not already set
OutputPath ??= _executionContext.OutputPath!;
@@ -243,13 +230,13 @@ namespace MPF.Frontend
{
_processor = _internalProgram switch
{
InternalProgram.Aaru => new Processors.Aaru(_system, _type),
InternalProgram.CleanRip => new CleanRip(_system, _type),
InternalProgram.DiscImageCreator => new DiscImageCreator(_system, _type),
InternalProgram.PS3CFW => new PS3CFW(_system, _type),
InternalProgram.Redumper => new Redumper(_system, _type),
InternalProgram.UmdImageCreator => new UmdImageCreator(_system, _type),
InternalProgram.XboxBackupCreator => new XboxBackupCreator(_system, _type),
InternalProgram.Aaru => new Processors.Aaru(_system),
InternalProgram.CleanRip => new CleanRip(_system),
InternalProgram.DiscImageCreator => new DiscImageCreator(_system),
InternalProgram.PS3CFW => new PS3CFW(_system),
InternalProgram.Redumper => new Redumper(_system),
InternalProgram.UmdImageCreator => new UmdImageCreator(_system),
InternalProgram.XboxBackupCreator => new XboxBackupCreator(_system),
// If no dumping program found, set to null
InternalProgram.NONE => null,
@@ -262,12 +249,13 @@ namespace MPF.Frontend
/// <summary>
/// Get the full parameter string for either DiscImageCreator or Aaru
/// </summary>
/// <param name="mediaType">MediaType for specialized dumping parameters</param>
/// <param name="driveSpeed">Nullable int representing the drive speed</param>
/// <returns>String representing the params, null on error</returns>
public string? GetFullParameters(int? driveSpeed)
public string? GetFullParameters(MediaType? mediaType, int? driveSpeed)
{
// Populate with the correct params for inputs (if we're not on the default option)
if (_system != null && _type != MediaType.NONE)
if (_system != null && mediaType != MediaType.NONE)
{
// If drive letter is invalid, skip this
if (_drive == null)
@@ -276,9 +264,9 @@ namespace MPF.Frontend
// Set the proper parameters
_executionContext = _internalProgram switch
{
InternalProgram.Aaru => new ExecutionContexts.Aaru.ExecutionContext(_system, _type, _drive.Name, OutputPath, driveSpeed, _options.Settings),
InternalProgram.DiscImageCreator => new ExecutionContexts.DiscImageCreator.ExecutionContext(_system, _type, _drive.Name, OutputPath, driveSpeed, _options.Settings),
InternalProgram.Redumper => new ExecutionContexts.Redumper.ExecutionContext(_system, _type, _drive.Name, OutputPath, driveSpeed, _options.Settings),
InternalProgram.Aaru => new ExecutionContexts.Aaru.ExecutionContext(_system, mediaType, _drive.Name, OutputPath, driveSpeed, _options.Settings),
InternalProgram.DiscImageCreator => new ExecutionContexts.DiscImageCreator.ExecutionContext(_system, mediaType, _drive.Name, OutputPath, driveSpeed, _options.Settings),
InternalProgram.Redumper => new ExecutionContexts.Redumper.ExecutionContext(_system, mediaType, _drive.Name, OutputPath, driveSpeed, _options.Settings),
// If no dumping program found, set to null
InternalProgram.NONE => null,
@@ -304,9 +292,9 @@ namespace MPF.Frontend
/// </summary>
/// <param name="type">MediaType value to check</param>
/// <returns>True if the media has variable dumping speeds, false otherwise</returns>
public bool DoesSupportDriveSpeed()
public bool DoesSupportDriveSpeed(MediaType? mediaType)
{
return _type switch
return mediaType switch
{
MediaType.CDROM
or MediaType.DVD
@@ -320,22 +308,22 @@ namespace MPF.Frontend
};
}
/// <inheritdoc cref="BaseProcessor.FoundAllFiles(string?, string)"/>
public bool FoundAllFiles(string? outputDirectory, string outputFilename)
/// <inheritdoc cref="BaseProcessor.FoundAllFiles(MediaType?, string?, string)"/>
public bool FoundAllFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
if (_processor == null)
return false;
return _processor.FoundAllFiles(outputDirectory, outputFilename).Count == 0;
return _processor.FoundAllFiles(mediaType, outputDirectory, outputFilename).Count == 0;
}
/// <inheritdoc cref="BaseProcessor.FoundAnyFiles(string?, string)"/>
public bool FoundAnyFiles(string? outputDirectory, string outputFilename)
/// <inheritdoc cref="BaseProcessor.FoundAnyFiles(MediaType?, string?, string)"/>
public bool FoundAnyFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
if (_processor == null)
return false;
return _processor.FoundAnyFiles(outputDirectory, outputFilename);
return _processor.FoundAnyFiles(mediaType, outputDirectory, outputFilename);
}
/// <inheritdoc cref="BaseExecutionContext.GetDefaultExtension(MediaType?)"/>
@@ -359,14 +347,14 @@ namespace MPF.Frontend
/// <summary>
/// Verify that, given a system and a media type, they are correct
/// </summary>
public ResultEventArgs GetSupportStatus()
public ResultEventArgs GetSupportStatus(MediaType? mediaType)
{
// No system chosen, update status
if (_system == null)
return ResultEventArgs.Failure("Please select a valid system");
// If we're on an unsupported type, update the status accordingly
return _type switch
return mediaType switch
{
// Fully supported types
MediaType.BluRay
@@ -377,22 +365,22 @@ namespace MPF.Frontend
or MediaType.CompactFlash
or MediaType.SDCard
or MediaType.FlashDrive
or MediaType.HDDVD => ResultEventArgs.Success($"{_type.LongName()} ready to dump"),
or MediaType.HDDVD => ResultEventArgs.Success($"{mediaType.LongName()} ready to dump"),
// Partially supported types
MediaType.GDROM
or MediaType.NintendoGameCubeGameDisc
or MediaType.NintendoWiiOpticalDisc
or MediaType.NintendoWiiUOpticalDisc => ResultEventArgs.Success($"{_type.LongName()} partially supported for dumping"),
or MediaType.NintendoWiiUOpticalDisc => ResultEventArgs.Success($"{mediaType.LongName()} partially supported for dumping"),
// Special case for other supported tools
MediaType.UMD => ResultEventArgs.Failure($"{_type.LongName()} supported for submission info parsing"),
MediaType.UMD => ResultEventArgs.Failure($"{mediaType.LongName()} supported for submission info parsing"),
// Specifically unknown type
MediaType.NONE => ResultEventArgs.Failure($"Please select a valid media type"),
// Undumpable but recognized types
_ => ResultEventArgs.Failure($"{_type.LongName()} media are not supported for dumping"),
_ => ResultEventArgs.Failure($"{mediaType.LongName()} media are not supported for dumping"),
};
}
@@ -420,8 +408,9 @@ namespace MPF.Frontend
/// <summary>
/// Execute the initial invocation of the dumping programs
/// </summary>
/// <param name="mediaType">MediaType for specialized dumping parameters</param>
/// <param name="progress">Optional result progress callback</param>
public async Task<ResultEventArgs> Run(IProgress<ResultEventArgs>? progress = null)
public async Task<ResultEventArgs> Run(MediaType? mediaType, IProgress<ResultEventArgs>? progress = null)
{
// If we don't have parameters
if (_executionContext == null)
@@ -436,7 +425,7 @@ namespace MPF.Frontend
}
// Check that we have the basics for dumping
ResultEventArgs result = IsValidForDump();
ResultEventArgs result = IsValidForDump(mediaType);
if (!result)
return result;
@@ -460,12 +449,14 @@ namespace MPF.Frontend
/// <summary>
/// Verify that the current environment has a complete dump and create submission info is possible
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets, if available</param>
/// <param name="resultProgress">Optional result progress callback</param>
/// <param name="protectionProgress">Optional protection progress callback</param>
/// <param name="processUserInfo">Optional user prompt to deal with submission information</param>
/// <param name="seedInfo">A seed SubmissionInfo object that contains user data</param>
/// <returns>Result instance with the outcome</returns>
public async Task<ResultEventArgs> VerifyAndSaveDumpOutput(
MediaType? mediaType = null,
IProgress<ResultEventArgs>? resultProgress = null,
IProgress<ProtectionProgress>? protectionProgress = null,
ProcessUserInfoDelegate? processUserInfo = null,
@@ -490,12 +481,15 @@ namespace MPF.Frontend
resultProgress.Report(ResultEventArgs.Success("Gathering submission information... please wait!"));
// Determine the media type from the processor, if not provided
mediaType ??= _processor.DetermineMediaType(OutputPath);
// Get the output directory and filename separately
var outputDirectory = Path.GetDirectoryName(OutputPath);
var outputFilename = Path.GetFileName(OutputPath);
// Check to make sure that the output had all the correct files
List<string> missingFiles = _processor.FoundAllFiles(outputDirectory, outputFilename);
List<string> missingFiles = _processor.FoundAllFiles(mediaType, outputDirectory, outputFilename);
if (missingFiles.Count > 0)
{
resultProgress.Report(ResultEventArgs.Failure($"There were files missing from the output:\n{string.Join("\n", [.. missingFiles])}"));
@@ -508,7 +502,7 @@ namespace MPF.Frontend
OutputPath,
_drive,
_system,
_type,
mediaType,
_options,
_processor,
resultProgress,
@@ -593,7 +587,7 @@ namespace MPF.Frontend
await Task.Run(() =>
#endif
{
bool compressSuccess = _processor.CompressLogFiles(outputDirectory, outputFilename, filenameSuffix, out string compressResult);
bool compressSuccess = _processor.CompressLogFiles(mediaType, outputDirectory, outputFilename, filenameSuffix, out string compressResult);
if (compressSuccess)
resultProgress.Report(ResultEventArgs.Success(compressResult));
else
@@ -607,7 +601,7 @@ namespace MPF.Frontend
if (_options.DeleteUnnecessaryFiles)
{
resultProgress.Report(ResultEventArgs.Success("Deleting unnecessary files..."));
bool deleteSuccess = _processor.DeleteUnnecessaryFiles(outputDirectory, outputFilename, out string deleteResult);
bool deleteSuccess = _processor.DeleteUnnecessaryFiles(mediaType, outputDirectory, outputFilename, out string deleteResult);
if (deleteSuccess)
resultProgress.Report(ResultEventArgs.Success(deleteResult));
else
@@ -615,7 +609,7 @@ namespace MPF.Frontend
}
// Create PS3 IRD, if required
if (_options.CreateIRDAfterDumping && _system == RedumpSystem.SonyPlayStation3 && _type == MediaType.BluRay)
if (_options.CreateIRDAfterDumping && _system == RedumpSystem.SonyPlayStation3 && mediaType == MediaType.BluRay)
{
resultProgress.Report(ResultEventArgs.Success("Creating IRD... please wait!"));
bool deleteSuccess = await WriteIRD(OutputPath, submissionInfo?.Extras?.DiscKey, submissionInfo?.Extras?.DiscID, submissionInfo?.Extras?.PIC, submissionInfo?.SizeAndChecksums?.Layerbreak, submissionInfo?.SizeAndChecksums?.CRC32);
@@ -633,18 +627,18 @@ namespace MPF.Frontend
/// Checks if the parameters are valid
/// </summary>
/// <returns>True if the configuration is valid, false otherwise</returns>
internal bool ParametersValid()
internal bool ParametersValid(MediaType? mediaType)
{
// Missing drive means it can never be valid
if (_drive == null)
return false;
bool parametersValid = _executionContext?.IsValid() ?? false;
bool floppyValid = !(_drive.InternalDriveType == InternalDriveType.Floppy ^ _type == MediaType.FloppyDisk);
bool floppyValid = !(_drive.InternalDriveType == InternalDriveType.Floppy ^ mediaType == MediaType.FloppyDisk);
// TODO: HardDisk being in the Removable category is a hack, fix this later
bool removableDiskValid = !((_drive.InternalDriveType == InternalDriveType.Removable || _drive.InternalDriveType == InternalDriveType.HardDisk)
^ (_type == MediaType.CompactFlash || _type == MediaType.SDCard || _type == MediaType.FlashDrive || _type == MediaType.HardDisk));
^ (mediaType == MediaType.CompactFlash || mediaType == MediaType.SDCard || mediaType == MediaType.FlashDrive || mediaType == MediaType.HardDisk));
return parametersValid && floppyValid && removableDiskValid;
}
@@ -653,10 +647,10 @@ namespace MPF.Frontend
/// Validate the current environment is ready for a dump
/// </summary>
/// <returns>Result instance with the outcome</returns>
private ResultEventArgs IsValidForDump()
private ResultEventArgs IsValidForDump(MediaType? mediaType)
{
// Validate that everything is good
if (_executionContext == null || !ParametersValid())
if (_executionContext == null || !ParametersValid(mediaType))
return ResultEventArgs.Failure("Error! Current configuration is not supported!");
// Fix the output paths, just in case
@@ -676,7 +670,7 @@ namespace MPF.Frontend
return ResultEventArgs.Failure("Error! Cannot dump same drive that executable resides on!");
// Validate that the current configuration is supported
return GetSupportStatus();
return GetSupportStatus(mediaType);
}
#endregion

View File

@@ -87,6 +87,32 @@ namespace MPF.Frontend.Tools
return false;
}
/// <summary>
/// Process common arguments for all functionality
/// </summary>
/// <returns>True if all arguments pass, false otherwise</returns>
public static bool ProcessCommonArguments(string[] args, out RedumpSystem? system, out string? message)
{
// All other use requires at least 3 arguments
if (args.Length < 2)
{
system = null;
message = "Invalid number of arguments";
return false;
}
// Check the RedumpSystem
system = Extensions.ToRedumpSystem(args[0].Trim('"'));
if (system == null)
{
message = $"{args[0]} is not a recognized system";
return false;
}
message = null;
return true;
}
/// <summary>
/// Process common arguments for all functionality
/// </summary>

View File

@@ -60,7 +60,7 @@ namespace MPF.Frontend.Tools
string outputFilename = Path.GetFileName(outputPath);
// Check that all of the relevant files are there
List<string> missingFiles = processor.FoundAllFiles(outputDirectory, outputFilename);
List<string> missingFiles = processor.FoundAllFiles(mediaType, outputDirectory, outputFilename);
if (missingFiles.Count > 0)
{
resultProgress?.Report(ResultEventArgs.Failure($"There were files missing from the output:\n{string.Join("\n", [.. missingFiles])}"));
@@ -77,9 +77,9 @@ namespace MPF.Frontend.Tools
SubmissionInfo info = CreateDefaultSubmissionInfo(processor, system, mediaType, options.AddPlaceholders);
// Get specific tool output handling
processor?.GenerateSubmissionInfo(info, basePath, options.EnableRedumpCompatibility);
processor?.GenerateSubmissionInfo(info, mediaType, basePath, options.EnableRedumpCompatibility);
if (options.IncludeArtifacts)
info.Artifacts = processor?.GenerateArtifacts(outputDirectory, outputFilename);
info.Artifacts = processor?.GenerateArtifacts(mediaType, outputDirectory, outputFilename);
// Add a placeholder for the logs link
info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.LogsLink] = "[Please provide a link to your logs here]";

View File

@@ -502,12 +502,12 @@ namespace MPF.Frontend.ViewModels
Path.GetFullPath(InputPath.Trim('"')),
null,
CurrentSystem,
CurrentMediaType,
CurrentProgram,
parameters: null);
CurrentProgram);
env.SetProcessor();
// Finally, attempt to do the output dance
var result = await env.VerifyAndSaveDumpOutput(
mediaType: CurrentMediaType,
resultProgress: resultProgress,
protectionProgress: protectionProgress,
processUserInfo: processUserInfo);

View File

@@ -1253,14 +1253,15 @@ namespace MPF.Frontend.ViewModels
/// <returns>Filled DumpEnvironment Parent</returns>
private DumpEnvironment DetermineEnvironment()
{
return new DumpEnvironment(
var env = new DumpEnvironment(
Options,
EvaluateOutputPath(OutputPath),
CurrentDrive,
CurrentSystem,
CurrentMediaType,
CurrentProgram,
Parameters);
CurrentProgram);
env.SetExecutionContext(CurrentMediaType, Parameters);
env.SetProcessor();
return env;
}
/// <summary>
@@ -1369,7 +1370,7 @@ namespace MPF.Frontend.ViewModels
_environment = DetermineEnvironment();
// Get the status to write out
ResultEventArgs result = _environment.GetSupportStatus();
ResultEventArgs result = _environment.GetSupportStatus(CurrentMediaType);
if (CurrentProgram == InternalProgram.NONE)
Status = "No dumping program found";
else
@@ -1379,12 +1380,12 @@ namespace MPF.Frontend.ViewModels
StartStopButtonEnabled = result && ShouldEnableDumpingButton();
// If we're in a type that doesn't support drive speeds
DriveSpeedComboBoxEnabled = _environment.DoesSupportDriveSpeed();
DriveSpeedComboBoxEnabled = _environment.DoesSupportDriveSpeed(CurrentMediaType);
// If input params are enabled, generate the full parameters from the environment
if (ParametersCheckBoxEnabled)
{
var generated = _environment.GetFullParameters(DriveSpeed);
var generated = _environment.GetFullParameters(CurrentMediaType, DriveSpeed);
if (generated != null)
Parameters = generated;
}
@@ -1882,7 +1883,7 @@ namespace MPF.Frontend.ViewModels
public void ProcessCustomParameters()
{
// Set the execution context and processor
if (_environment?.SetExecutionContext(Parameters) != true)
if (_environment?.SetExecutionContext(CurrentMediaType, Parameters) != true)
return;
if (_environment?.SetProcessor() != true)
return;
@@ -2216,7 +2217,7 @@ namespace MPF.Frontend.ViewModels
_environment.ReportStatus += ProgressUpdated;
// Run the program with the parameters
ResultEventArgs result = await _environment.Run(resultProgress);
ResultEventArgs result = await _environment.Run(CurrentMediaType, resultProgress);
// If we didn't execute a dumping command we cannot get submission output
if (!_environment.IsDumpingCommand())
@@ -2236,9 +2237,10 @@ namespace MPF.Frontend.ViewModels
if (result)
{
result = await _environment.VerifyAndSaveDumpOutput(
resultProgress,
protectionProgress,
_processUserInfo);
mediaType: CurrentMediaType,
resultProgress: resultProgress,
protectionProgress: protectionProgress,
processUserInfo: _processUserInfo);
}
else
{
@@ -2344,7 +2346,7 @@ namespace MPF.Frontend.ViewModels
string outputFilename = Path.GetFileName(_environment.OutputPath);
// If a complete or partial dump already exists
bool foundAllFiles = _environment.FoundAllFiles(outputDirectory, outputFilename);
bool foundAllFiles = _environment.FoundAllFiles(CurrentMediaType, outputDirectory, outputFilename);
if (foundAllFiles && _displayUserMessage != null)
{
bool? mbresult = _displayUserMessage("Overwrite?", "A complete dump already exists! Are you sure you want to overwrite?", 2, true);
@@ -2357,7 +2359,7 @@ namespace MPF.Frontend.ViewModels
else
{
// If a partial dump exists
bool foundAnyFiles = _environment.FoundAnyFiles(outputDirectory, outputFilename);
bool foundAnyFiles = _environment.FoundAnyFiles(CurrentMediaType, outputDirectory, outputFilename);
if (foundAnyFiles && _displayUserMessage != null)
{
bool? mbresult = _displayUserMessage("Overwrite?", $"A partial dump already exists! Dumping here may cause issues. Are you sure you want to overwrite?", 2, true);
@@ -2370,7 +2372,7 @@ namespace MPF.Frontend.ViewModels
else
{
// If a complete dump exists from a different program
InternalProgram? completeProgramFound = _environment.CheckForMatchingProgram(outputDirectory, outputFilename);
InternalProgram? completeProgramFound = _environment.CheckForMatchingProgram(CurrentMediaType, outputDirectory, outputFilename);
if (completeProgramFound != null && _displayUserMessage != null)
{
bool? mbresult = _displayUserMessage("Overwrite?", $"A complete dump from {completeProgramFound} already exists! Dumping here may cause issues. Are you sure you want to overwrite?", 2, true);
@@ -2383,7 +2385,7 @@ namespace MPF.Frontend.ViewModels
else
{
// If a partial dump exists from a different program
InternalProgram? partialProgramFound = _environment.CheckForPartialProgram(outputDirectory, outputFilename);
InternalProgram? partialProgramFound = _environment.CheckForPartialProgram(CurrentMediaType, outputDirectory, outputFilename);
if (partialProgramFound != null && _displayUserMessage != null)
{
bool? mbresult = _displayUserMessage("Overwrite?", $"A partial dump from {partialProgramFound} already exists! Dumping here may cause issues. Are you sure you want to overwrite?", 2, true);

View File

@@ -18,7 +18,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Null_Null()
{
string? basePath = null;
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -27,7 +27,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Invalid_Null()
{
string? basePath = "INVALID";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -36,7 +36,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_CD_Valid_CD()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM", "test");
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.CDROM, actual);
}
@@ -50,9 +50,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, null);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -61,9 +61,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(8, actual.Count);
}
@@ -72,9 +72,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.DVD);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
@@ -83,9 +83,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.HDDVD);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.HDDVD, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
@@ -94,9 +94,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.BluRay);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
@@ -105,9 +105,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.ApertureCard);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -120,8 +120,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
@@ -130,8 +130,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM");
string outputFilename = "test.aaruf";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -144,8 +144,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -154,8 +154,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM");
string outputFilename = "test.aaruf";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -164,8 +164,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM-zip");
string outputFilename = "test.aaruf";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -178,8 +178,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GenerateArtifacts(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -188,8 +188,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM");
string outputFilename = "test.aaruf";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GenerateArtifacts(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
@@ -202,8 +202,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetDeleteableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -212,8 +212,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM");
string outputFilename = "test.aaruf";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetDeleteableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -226,8 +226,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetZippableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -236,8 +236,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Aaru", "CDROM");
string outputFilename = "test.aaruf";
var processor = new Aaru(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new Aaru(RedumpSystem.IBMPCcompatible);
var actual = processor.GetZippableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}

View File

@@ -13,7 +13,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_GC_Null_GC()
{
string? basePath = null;
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.NintendoGameCubeGameDisc, actual);
}
@@ -22,7 +22,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Wii_Null_Wii()
{
string? basePath = null;
var processor = new CleanRip(RedumpSystem.NintendoWii, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoWii);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.NintendoWiiOpticalDisc, actual);
}
@@ -31,7 +31,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Other_Null_Null()
{
string? basePath = null;
var processor = new CleanRip(RedumpSystem.IBMPCcompatible, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -40,7 +40,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_GC_Invalid_GC()
{
string? basePath = "INVALID";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.NintendoGameCubeGameDisc, actual);
}
@@ -49,7 +49,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Wii_Invalid_Wii()
{
string? basePath = "INVALID";
var processor = new CleanRip(RedumpSystem.NintendoWii, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoWii);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.NintendoWiiOpticalDisc, actual);
}
@@ -58,7 +58,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Other_Invalid_Invalid()
{
string? basePath = "INVALID";
var processor = new CleanRip(RedumpSystem.IBMPCcompatible, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -67,7 +67,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_GC_Valid_GC()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD", "test");
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.NintendoGameCubeGameDisc, actual);
}
@@ -76,7 +76,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Wii_Valid_Wii()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD", "test");
var processor = new CleanRip(RedumpSystem.NintendoWii, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoWii);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.NintendoWiiOpticalDisc, actual);
}
@@ -85,7 +85,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Other_Valid_Valid()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD", "test");
var processor = new CleanRip(RedumpSystem.IBMPCcompatible, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -99,9 +99,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, null);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -110,9 +110,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(3, actual.Count);
}
@@ -121,9 +121,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.NintendoGameCubeGameDisc, outputDirectory, outputFilename);
Assert.Equal(3, actual.Count);
}
@@ -132,21 +132,21 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.NintendoWiiOpticalDisc);
var processor = new CleanRip(RedumpSystem.NintendoWii);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.NintendoWiiOpticalDisc, outputDirectory, outputFilename);
Assert.Equal(3, actual.Count);
}
[Fact]
public void GetOutputFiles_Other_Empty()
public void GetOutputFiles_Other_Populated()
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.ApertureCard);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
Assert.Empty(actual);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Equal(3, actual.Count);
}
#endregion
@@ -158,8 +158,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.FoundAllFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(3, actual.Count);
}
@@ -168,8 +168,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD");
string outputFilename = "test.iso";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.FoundAllFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -182,8 +182,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.FoundAnyFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -192,8 +192,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD");
string outputFilename = "test.iso";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.FoundAnyFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -202,8 +202,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD-zip");
string outputFilename = "test.iso";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.FoundAnyFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -216,8 +216,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GenerateArtifacts(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -226,8 +226,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD");
string outputFilename = "test.iso";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GenerateArtifacts(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(2, actual.Count);
}
@@ -240,8 +240,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetDeleteableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -250,8 +250,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD");
string outputFilename = "test.iso";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetDeleteableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -264,8 +264,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetZippableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -274,8 +274,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "CleanRip", "DVD");
string outputFilename = "test.iso";
var processor = new CleanRip(RedumpSystem.NintendoGameCube, MediaType.DVD);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new CleanRip(RedumpSystem.NintendoGameCube);
var actual = processor.GetZippableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(2, actual.Count);
}

View File

@@ -16,7 +16,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Null_Null()
{
string? basePath = null;
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -25,7 +25,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Invalid_Null()
{
string? basePath = "INVALID";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -35,7 +35,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.BluRay;
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "BluRay", "test");
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -45,7 +45,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.CDROM;
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM", "test");
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -55,7 +55,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.DVD;
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "DVD", "test");
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -65,7 +65,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.HDDVD;
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "HDDVD", "test");
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -79,9 +79,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, null);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -90,9 +90,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(26, actual.Count);
}
@@ -101,9 +101,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.GDROM);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.GDROM, outputDirectory, outputFilename);
Assert.Equal(10, actual.Count);
}
@@ -112,9 +112,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.DVD);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(16, actual.Count);
}
@@ -123,9 +123,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.NintendoGameCubeGameDisc);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.NintendoGameCubeGameDisc, outputDirectory, outputFilename);
Assert.Equal(16, actual.Count);
}
@@ -134,9 +134,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.NintendoWiiOpticalDisc);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.NintendoWiiOpticalDisc, outputDirectory, outputFilename);
Assert.Equal(16, actual.Count);
}
@@ -145,9 +145,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.HDDVD);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.HDDVD, outputDirectory, outputFilename);
Assert.Equal(15, actual.Count);
}
@@ -156,9 +156,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.BluRay);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(15, actual.Count);
}
@@ -167,9 +167,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.FloppyDisk);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.FloppyDisk, outputDirectory, outputFilename);
Assert.Equal(4, actual.Count);
}
@@ -178,9 +178,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.HardDisk);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.HardDisk, outputDirectory, outputFilename);
Assert.Equal(4, actual.Count);
}
@@ -189,9 +189,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.ApertureCard);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -204,8 +204,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(17, actual.Count);
}
@@ -214,8 +214,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM");
string outputFilename = "test.cue";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -228,8 +228,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -238,8 +238,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM");
string outputFilename = "test.cue";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -248,8 +248,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM-zip");
string outputFilename = "test.cue";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -262,8 +262,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GenerateArtifacts(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -272,8 +272,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM");
string outputFilename = "test.cue";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GenerateArtifacts(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(21, actual.Count);
}
@@ -286,8 +286,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetDeleteableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -296,8 +296,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM");
string outputFilename = "test.cue";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetDeleteableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(2, actual.Count);
}
@@ -310,8 +310,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetZippableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -320,8 +320,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "DiscImageCreator", "CDROM");
string outputFilename = "test.cue";
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new DiscImageCreator(RedumpSystem.IBMPCcompatible);
var actual = processor.GetZippableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(23, actual.Count);
}

View File

@@ -13,7 +13,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Null_BluRay()
{
string? basePath = null;
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.BluRay, actual);
}
@@ -22,7 +22,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Invalid_BluRay()
{
string? basePath = "INVALID";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.BluRay, actual);
}
@@ -31,7 +31,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Valid_BluRay()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay", "test");
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.BluRay, actual);
}
@@ -45,9 +45,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, null);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -56,9 +56,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(4, actual.Count);
}
@@ -67,9 +67,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.ApertureCard);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -82,8 +82,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.FoundAllFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(3, actual.Count);
}
@@ -92,8 +92,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay");
string outputFilename = "test.iso";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.FoundAllFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -106,8 +106,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.FoundAnyFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -116,8 +116,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay");
string outputFilename = "test.iso";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.FoundAnyFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -126,8 +126,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay-zip");
string outputFilename = "test.iso";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.FoundAnyFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -140,8 +140,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GenerateArtifacts(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -150,8 +150,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay");
string outputFilename = "test.iso";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GenerateArtifacts(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(2, actual.Count);
}
@@ -164,8 +164,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetDeleteableFilePaths(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -174,8 +174,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay");
string outputFilename = "test.iso";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetDeleteableFilePaths(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -188,8 +188,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetZippableFilePaths(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -198,8 +198,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "PS3CFW", "BluRay");
string outputFilename = "test.iso";
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3, MediaType.BluRay);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new PS3CFW(RedumpSystem.SonyPlayStation3);
var actual = processor.GetZippableFilePaths(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(2, actual.Count);
}

View File

@@ -14,7 +14,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Null_Null()
{
string? basePath = null;
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -23,7 +23,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Invalid_Null()
{
string? basePath = "INVALID";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Null(actual);
}
@@ -33,7 +33,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.BluRay;
string basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "BluRay", "test");
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -43,7 +43,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.BluRay;
string basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "BDR", "test");
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -53,7 +53,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.CDROM;
string basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM", "test");
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -63,7 +63,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.DVD;
string basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "DVD", "test");
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -73,7 +73,7 @@ namespace MPF.Processors.Test
{
MediaType? expected = MediaType.HDDVD;
string basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "HDDVD", "test");
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(expected, actual);
}
@@ -87,9 +87,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, null);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -98,9 +98,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(16, actual.Count);
}
@@ -109,9 +109,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.DVD);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(17, actual.Count);
}
@@ -120,9 +120,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.HDDVD);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.HDDVD, outputDirectory, outputFilename);
Assert.Equal(10, actual.Count);
}
@@ -131,9 +131,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.BluRay);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.BluRay, outputDirectory, outputFilename);
Assert.Equal(10, actual.Count);
}
@@ -142,9 +142,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.ApertureCard);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -157,8 +157,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(8, actual.Count);
}
@@ -167,8 +167,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM");
string outputFilename = "test.cue";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -177,8 +177,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM-zip");
string outputFilename = "test.cue";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -191,8 +191,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -201,8 +201,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM");
string outputFilename = "test.cue";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.FoundAnyFiles(MediaType.CDROM, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -215,8 +215,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GenerateArtifacts(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -225,8 +225,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM");
string outputFilename = "test.cue";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GenerateArtifacts(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(10, actual.Count);
}
@@ -239,8 +239,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetDeleteableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -249,8 +249,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM");
string outputFilename = "test.cue";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetDeleteableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Single(actual);
}
@@ -263,8 +263,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetZippableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -273,8 +273,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "Redumper", "CDROM");
string outputFilename = "test.cue";
var processor = new Redumper(RedumpSystem.IBMPCcompatible, MediaType.CDROM);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
var actual = processor.GetZippableFilePaths(MediaType.CDROM, outputDirectory, outputFilename);
Assert.Equal(10, actual.Count);
}

View File

@@ -14,7 +14,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Null_DVD()
{
string? basePath = null;
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.UMD, actual);
}
@@ -23,7 +23,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Invalid_DVD()
{
string? basePath = "INVALID";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.UMD, actual);
}
@@ -32,7 +32,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Valid_DVD()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD", "test");
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.UMD, actual);
}
@@ -46,9 +46,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, null);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -57,21 +57,21 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.UMD, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
[Fact]
public void GetOutputFiles_Other_Empty()
public void GetOutputFiles_Other_Populated()
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.ApertureCard);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
Assert.Empty(actual);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
#endregion
@@ -83,8 +83,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.FoundAllFiles(MediaType.UMD, outputDirectory, outputFilename);
Assert.Equal(5, actual.Count);
}
@@ -93,8 +93,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD");
string outputFilename = "test.iso";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.FoundAllFiles(MediaType.UMD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -103,8 +103,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD-zip");
string outputFilename = "test.iso";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.FoundAllFiles(MediaType.UMD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -117,8 +117,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.FoundAnyFiles(MediaType.UMD, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -127,8 +127,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD");
string outputFilename = "test.iso";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.FoundAnyFiles(MediaType.UMD, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -141,8 +141,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GenerateArtifacts(MediaType.UMD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -151,8 +151,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD");
string outputFilename = "test.iso";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GenerateArtifacts(MediaType.UMD, outputDirectory, outputFilename);
Assert.Equal(6, actual.Count);
}
@@ -165,8 +165,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetDeleteableFilePaths(MediaType.UMD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -175,8 +175,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD");
string outputFilename = "test.iso";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetDeleteableFilePaths(MediaType.UMD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -189,8 +189,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetZippableFilePaths(MediaType.UMD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -199,8 +199,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "UmdImageCreator", "UMD");
string outputFilename = "test.iso";
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable, MediaType.UMD);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new UmdImageCreator(RedumpSystem.SonyPlayStationPortable);
var actual = processor.GetZippableFilePaths(MediaType.UMD, outputDirectory, outputFilename);
Assert.Equal(6, actual.Count);
}

View File

@@ -14,7 +14,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Null_DVD()
{
string? basePath = null;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.DVD, actual);
}
@@ -23,7 +23,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Invalid_DVD()
{
string? basePath = "INVALID";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.DVD, actual);
}
@@ -32,7 +32,7 @@ namespace MPF.Processors.Test
public void DetermineMediaType_Valid_DVD()
{
string? basePath = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD", "test");
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.DetermineMediaType(basePath);
Assert.Equal(MediaType.DVD, actual);
}
@@ -46,9 +46,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, null);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(null, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -57,9 +57,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(7, actual.Count);
}
@@ -68,9 +68,9 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = "test";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.ApertureCard);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetOutputFiles(outputDirectory, outputFilename);
var actual = processor.GetOutputFiles(MediaType.ApertureCard, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -83,8 +83,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.FoundAllFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(5, actual.Count);
}
@@ -93,8 +93,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD");
string outputFilename = "test.iso";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.FoundAllFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -103,8 +103,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD-zip");
string outputFilename = "test.iso";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.FoundAllFiles(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.FoundAllFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -117,8 +117,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.FoundAnyFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.False(actual);
}
@@ -127,8 +127,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD");
string outputFilename = "test.iso";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.FoundAnyFiles(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.FoundAnyFiles(MediaType.DVD, outputDirectory, outputFilename);
Assert.True(actual);
}
@@ -141,8 +141,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GenerateArtifacts(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -151,8 +151,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD");
string outputFilename = "test.iso";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.GenerateArtifacts(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GenerateArtifacts(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(6, actual.Count);
}
@@ -165,8 +165,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetDeleteableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -175,8 +175,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD");
string outputFilename = "test.iso";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.GetDeleteableFilePaths(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetDeleteableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -189,8 +189,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = null;
string outputFilename = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetZippableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Empty(actual);
}
@@ -199,8 +199,8 @@ namespace MPF.Processors.Test
{
string? outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD");
string outputFilename = "test.iso";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var actual = processor.GetZippableFilePaths(outputDirectory, outputFilename);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
var actual = processor.GetZippableFilePaths(MediaType.DVD, outputDirectory, outputFilename);
Assert.Equal(6, actual.Count);
}
@@ -371,7 +371,7 @@ namespace MPF.Processors.Test
{
long expected = -1;
string? log = null;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
bool actual = processor.GetReadErrors(log, out long readErrors);
Assert.False(actual);
@@ -383,7 +383,7 @@ namespace MPF.Processors.Test
{
long expected = -1;
string? log = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
bool actual = processor.GetReadErrors(log, out long readErrors);
Assert.False(actual);
@@ -395,7 +395,7 @@ namespace MPF.Processors.Test
{
long expected = -1;
string? log = "INVALID";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
bool actual = processor.GetReadErrors(log, out long readErrors);
Assert.False(actual);
@@ -407,7 +407,7 @@ namespace MPF.Processors.Test
{
long expected = 0;
string? log = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD", "log.txt");
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox);
bool actual = processor.GetReadErrors(log, out long readErrors);
Assert.True(actual);
@@ -422,7 +422,7 @@ namespace MPF.Processors.Test
public void GetMediaID_Null_Null()
{
string? log = null;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360);
string? actual = processor.GetMediaID(log);
Assert.Null(actual);
}
@@ -431,7 +431,7 @@ namespace MPF.Processors.Test
public void GetMediaID_Empty_Null()
{
string? log = string.Empty;
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360);
string? actual = processor.GetMediaID(log);
Assert.Null(actual);
}
@@ -440,7 +440,7 @@ namespace MPF.Processors.Test
public void GetMediaID_Invalid_Null()
{
string? log = "INVALID";
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360);
string? actual = processor.GetMediaID(log);
Assert.Null(actual);
}
@@ -450,7 +450,7 @@ namespace MPF.Processors.Test
{
string? expected = "8B62A812";
string? log = Path.Combine(Environment.CurrentDirectory, "TestData", "XboxBackupCreator", "DVD", "log.txt");
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360, MediaType.DVD);
var processor = new XboxBackupCreator(RedumpSystem.MicrosoftXbox360);
string? actual = processor.GetMediaID(log);
Assert.Equal(expected, actual);
}

View File

@@ -22,7 +22,7 @@ namespace MPF.Processors
public sealed class Aaru : BaseProcessor
{
/// <inheritdoc/>
public Aaru(RedumpSystem? system, MediaType? type) : base(system, type) { }
public Aaru(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -45,7 +45,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// TODO: Fill in submission info specifics for Aaru
var outputDirectory = Path.GetDirectoryName(basePath);
@@ -99,7 +99,7 @@ namespace MPF.Processors
info.TracksAndWriteOffsets.OtherWriteOffsets = writeOffset;
// Extract info based generically on MediaType
switch (Type)
switch (mediaType)
{
// TODO: Can this do GD-ROM?
case MediaType.CDROM:
@@ -122,9 +122,9 @@ namespace MPF.Processors
// TODO: Sync layerbreak finding with other processors
// Deal with the layerbreak
string? layerbreak = null;
if (Type == MediaType.DVD)
if (mediaType == MediaType.DVD)
layerbreak = GetLayerbreak(sidecar) ?? string.Empty;
else if (Type == MediaType.BluRay)
else if (mediaType == MediaType.BluRay)
layerbreak = info.SizeAndChecksums!.Size > 25_025_314_816 ? "25025314816" : null;
// If we have a single-layer disc
@@ -198,12 +198,12 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
switch (Type)
switch (mediaType)
{
case MediaType.CDROM:
return [

View File

@@ -25,22 +25,15 @@ namespace MPF.Processors
/// </summary>
public RedumpSystem? System { get; private set; }
/// <summary>
/// Currently represented media type
/// </summary>
public MediaType? Type { get; private set; }
#endregion
/// <summary>
/// Generate processor for a system and media type combination
/// </summary>
/// <param name="system">RedumpSystem value to use</param>
/// <param name="type">MediaType value to use</param>
public BaseProcessor(RedumpSystem? system, MediaType? type)
public BaseProcessor(RedumpSystem? system)
{
System = system;
Type = type;
}
#region Abstract Methods
@@ -56,18 +49,20 @@ namespace MPF.Processors
/// Generate a SubmissionInfo for the output files
/// </summary>
/// <param name="submissionInfo">Base submission info to fill in specifics for</param>
/// <param name="mediaType">Media type for specific information gathering</param>
/// <param name="basePath">Base filename and path to use for checking</param>
/// <param name="redumpCompat">Determines if outputs are processed according to Redump specifications</param>
public abstract void GenerateSubmissionInfo(SubmissionInfo submissionInfo, string basePath, bool redumpCompat);
public abstract void GenerateSubmissionInfo(SubmissionInfo submissionInfo, MediaType? mediaType, string basePath, bool redumpCompat);
// <summary>
/// Generate a list of all output files generated
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <returns>List of all output files, empty otherwise</returns>
/// <remarks>Assumes filename has an extension</remarks>
internal abstract List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename);
internal abstract List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename);
#endregion
@@ -76,13 +71,18 @@ namespace MPF.Processors
/// <summary>
/// Compress log files to save space
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <param name="filenameSuffix">Output filename to use as the base path</param>
/// <param name="processor">Processor object representing how to process the outputs</param>
/// <returns>True if the process succeeded, false otherwise</returns>
/// <remarks>Assumes filename has an extension</remarks>
public bool CompressLogFiles(string? outputDirectory, string outputFilename, string? filenameSuffix, out string status)
public bool CompressLogFiles(MediaType? mediaType,
string? outputDirectory,
string outputFilename,
string? filenameSuffix,
out string status)
{
#if NET20 || NET35 || NET40
status = "Log compression is not available for this framework version";
@@ -97,7 +97,7 @@ namespace MPF.Processors
string archiveName = $"{basePath}_logs.zip";
// Get the lists of zippable files
var zippableFiles = GetZippableFilePaths(outputDirectory, outputFilename);
var zippableFiles = GetZippableFilePaths(mediaType, outputDirectory, outputFilename);
var generatedFiles = GetGeneratedFilePaths(outputDirectory, filenameSuffix);
// Don't create an archive if there are no paths
@@ -146,15 +146,19 @@ namespace MPF.Processors
/// <summary>
/// Compress log files to save space
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <param name="processor">Processor object representing how to process the outputs</param>
/// <returns>True if the process succeeded, false otherwise</returns>
/// <remarks>Assumes filename has an extension</remarks>
public bool DeleteUnnecessaryFiles(string? outputDirectory, string outputFilename, out string status)
public bool DeleteUnnecessaryFiles(MediaType? mediaType,
string? outputDirectory,
string outputFilename,
out string status)
{
// Get the list of deleteable files from the parameters object
var files = GetDeleteableFilePaths(outputDirectory, outputFilename);
var files = GetDeleteableFilePaths(mediaType, outputDirectory, outputFilename);
if (files.Count == 0)
{
@@ -179,11 +183,12 @@ namespace MPF.Processors
/// <summary>
/// Ensures that all required output files have been created
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <returns>A list representing missing files, empty if none</returns>
/// <remarks>Assumes filename has an extension</remarks>
public List<string> FoundAllFiles(string? outputDirectory, string outputFilename)
public List<string> FoundAllFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Assemble a base path
string basePath = Path.GetFileNameWithoutExtension(outputFilename);
@@ -191,7 +196,7 @@ namespace MPF.Processors
basePath = Path.Combine(outputDirectory, basePath);
// Get the list of output files
var outputFiles = GetOutputFiles(outputDirectory, outputFilename);
var outputFiles = GetOutputFiles(mediaType, outputDirectory, outputFilename);
if (outputFiles.Count == 0)
return ["Media and system combination not supported"];
@@ -259,11 +264,12 @@ namespace MPF.Processors
/// <summary>
/// Ensures that no potential output files have been created
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <returns>True if any dumping files exist, False if none</returns>
/// <remarks>Assumes filename has an extension</remarks>
public bool FoundAnyFiles(string? outputDirectory, string outputFilename)
public bool FoundAnyFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Assemble a base path
string basePath = Path.GetFileNameWithoutExtension(outputFilename);
@@ -271,7 +277,7 @@ namespace MPF.Processors
basePath = Path.Combine(outputDirectory, basePath);
// Get the list of output files
var outputFiles = GetOutputFiles(outputDirectory, outputFilename);
var outputFiles = GetOutputFiles(mediaType, outputDirectory, outputFilename);
if (outputFiles.Count == 0)
return false;
@@ -293,14 +299,15 @@ namespace MPF.Processors
/// <summary>
/// Generate artifacts and return them as a dictionary
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <returns>Dictiionary of artifact keys to Base64-encoded values, if possible</param>
/// <remarks>Assumes filename has an extension</remarks>
public Dictionary<string, string> GenerateArtifacts(string? outputDirectory, string outputFilename)
public Dictionary<string, string> GenerateArtifacts(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Get the list of output files
var outputFiles = GetOutputFiles(outputDirectory, outputFilename);
var outputFiles = GetOutputFiles(mediaType, outputDirectory, outputFilename);
if (outputFiles.Count == 0)
return [];
@@ -416,14 +423,15 @@ namespace MPF.Processors
/// <summary>
/// Generate a list of all deleteable file paths
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <returns>List of all deleteable file paths, empty otherwise</returns>
/// <remarks>Assumes filename has an extension</remarks>
internal List<string> GetDeleteableFilePaths(string? outputDirectory, string outputFilename)
internal List<string> GetDeleteableFilePaths(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Get the list of output files
var outputFiles = GetOutputFiles(outputDirectory, outputFilename);
var outputFiles = GetOutputFiles(mediaType, outputDirectory, outputFilename);
if (outputFiles.Count == 0)
return [];
@@ -499,14 +507,15 @@ namespace MPF.Processors
/// <summary>
/// Generate a list of all zippable file paths
/// </summary>
/// <param name="mediaType">Media type for controlling expected file sets</param>
/// <param name="outputDirectory">Output folder to use as the base path</param>
/// <param name="outputFilename">Output filename to use as the base path</param>
/// <returns>List of all zippable file paths, empty otherwise</returns>
/// <remarks>Assumes filename has an extension</remarks>
internal List<string> GetZippableFilePaths(string? outputDirectory, string outputFilename)
internal List<string> GetZippableFilePaths(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Get the list of output files
var outputFiles = GetOutputFiles(outputDirectory, outputFilename);
var outputFiles = GetOutputFiles(mediaType, outputDirectory, outputFilename);
if (outputFiles.Count == 0)
return [];

View File

@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.IO;
using System.Text;
using SabreTools.Hashing;
@@ -15,7 +14,7 @@ namespace MPF.Processors
public sealed class CleanRip : BaseProcessor
{
/// <inheritdoc/>
public CleanRip(RedumpSystem? system, MediaType? type) : base(system, type) { }
public CleanRip(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -31,7 +30,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -73,31 +72,23 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
switch (Type)
{
case MediaType.DVD: // Only added here to help users; not strictly correct
case MediaType.NintendoGameCubeGameDisc:
case MediaType.NintendoWiiOpticalDisc:
return [
new($"{outputFilename}.bca", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"bca"),
new($"{outputFilename}.iso", OutputFileFlags.Required),
return [
new($"{outputFilename}.bca", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"bca"),
new($"{outputFilename}.iso", OutputFileFlags.Required),
new($"{outputFilename}-dumpinfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"dumpinfo"),
];
}
return [];
new($"{outputFilename}-dumpinfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"dumpinfo"),
];
}
#endregion

View File

@@ -63,7 +63,7 @@ namespace MPF.Processors
public sealed class DiscImageCreator : BaseProcessor
{
/// <inheritdoc/>
public DiscImageCreator(RedumpSystem? system, MediaType? type) : base(system, type) { }
public DiscImageCreator(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -142,7 +142,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
var outputDirectory = Path.GetDirectoryName(basePath);
@@ -190,7 +190,7 @@ namespace MPF.Processors
VolumeLabels = volLabels;
// Extract info based generically on MediaType
switch (Type)
switch (mediaType)
{
case MediaType.CDROM:
case MediaType.GDROM: // TODO: Verify GD-ROM outputs this
@@ -227,12 +227,12 @@ namespace MPF.Processors
}
// Deal with the layerbreaks
if (Type == MediaType.DVD)
if (mediaType == MediaType.DVD)
{
string layerbreak = GetLayerbreak($"{basePath}_disc.txt", System.IsXGD()) ?? string.Empty;
info.SizeAndChecksums!.Layerbreak = !string.IsNullOrEmpty(layerbreak) ? long.Parse(layerbreak) : default;
}
else if (Type == MediaType.BluRay)
else if (mediaType == MediaType.BluRay)
{
var di = ProcessingTool.GetDiscInformation($"{basePath}_PIC.bin");
info.SizeAndChecksums!.PICIdentifier = ProcessingTool.GetPICIdentifier(di);
@@ -250,7 +250,7 @@ namespace MPF.Processors
}
// Bluray-specific options
if (Type == MediaType.BluRay)
if (mediaType == MediaType.BluRay)
{
int trimLength = -1;
switch (System)
@@ -390,7 +390,7 @@ namespace MPF.Processors
break;
case RedumpSystem.NamcoSegaNintendoTriforce:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetSegaHeader($"{basePath}_mainInfo.txt") ?? string.Empty;
@@ -429,7 +429,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaChihiro:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetSegaHeader($"{basePath}_mainInfo.txt") ?? string.Empty;
@@ -452,7 +452,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaDreamcast:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetSegaHeader($"{basePath}_mainInfo.txt") ?? string.Empty;
@@ -475,7 +475,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaNaomi:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetSegaHeader($"{basePath}_mainInfo.txt") ?? string.Empty;
@@ -498,7 +498,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaNaomi2:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetSegaHeader($"{basePath}_mainInfo.txt") ?? string.Empty;
@@ -565,12 +565,12 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
switch (Type)
switch (mediaType)
{
case MediaType.CDROM:
return [

View File

@@ -14,7 +14,7 @@ namespace MPF.Processors
public sealed class Generic : BaseProcessor
{
/// <inheritdoc/>
public Generic(RedumpSystem? system, MediaType? type) : base(system, type) { }
public Generic(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -25,7 +25,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -40,7 +40,7 @@ namespace MPF.Processors
info.TracksAndWriteOffsets!.ClrMameProData = ProcessingTool.GenerateDatfile(datafile);
// Extract info based generically on MediaType
switch (Type)
switch (mediaType)
{
case MediaType.CDROM:
case MediaType.GDROM:
@@ -68,7 +68,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
return [];
}

View File

@@ -12,7 +12,7 @@ namespace MPF.Processors
public sealed class PS3CFW : BaseProcessor
{
/// <inheritdoc/>
public PS3CFW(RedumpSystem? system, MediaType? type) : base(system, type) { }
public PS3CFW(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -21,7 +21,7 @@ namespace MPF.Processors
=> MediaType.BluRay;
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -134,29 +134,23 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
switch (Type)
{
case MediaType.BluRay:
return [
new([$"{outputFilename}.iso", $"{outputFilename}.ISO"], OutputFileFlags.Required),
new([$"{outputFilename}.cue", $"{outputFilename}.CUE"], OutputFileFlags.Zippable),
new RegexOutputFile($"getkey\\.log$", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"getkey_log"),
new RegexOutputFile($"disc\\.pic$", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"disc_pic"),
];
}
return [];
return [
new([$"{outputFilename}.iso", $"{outputFilename}.ISO"], OutputFileFlags.Required),
new([$"{outputFilename}.cue", $"{outputFilename}.CUE"], OutputFileFlags.Zippable),
new RegexOutputFile($"getkey\\.log$", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"getkey_log"),
new RegexOutputFile($"disc\\.pic$", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"disc_pic"),
];
}
#endregion

View File

@@ -18,7 +18,7 @@ namespace MPF.Processors
public sealed class Redumper : BaseProcessor
{
/// <inheritdoc/>
public Redumper(RedumpSystem? system, MediaType? type) : base(system, type) { }
public Redumper(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -42,7 +42,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -86,7 +86,7 @@ namespace MPF.Processors
VolumeLabels = volLabels;
// Extract info based generically on MediaType
switch (Type)
switch (mediaType)
{
case MediaType.CDROM:
info.TracksAndWriteOffsets.Cuesheet = ProcessingTool.GetFullFile($"{basePath}.cue") ?? string.Empty;
@@ -141,7 +141,7 @@ namespace MPF.Processors
info.CommonDiscInfo!.ErrorsCount = (scsiErrors == -1 ? "Error retrieving error count" : scsiErrors.ToString());
// Bluray-specific options
if (Type == MediaType.BluRay || Type == MediaType.NintendoWiiUOpticalDisc)
if (mediaType == MediaType.BluRay || mediaType == MediaType.NintendoWiiUOpticalDisc)
{
int trimLength = -1;
switch (System)
@@ -287,7 +287,7 @@ namespace MPF.Processors
break;
case RedumpSystem.NamcoSegaNintendoTriforce:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetGDROMHeader($"{basePath}.log",
out string? buildDate,
@@ -309,7 +309,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaChihiro:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetGDROMHeader($"{basePath}.log",
out string? buildDate,
@@ -324,7 +324,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaDreamcast:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetGDROMHeader($"{basePath}.log",
out string? buildDate,
@@ -339,7 +339,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaNaomi:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetGDROMHeader($"{basePath}.log",
out string? buildDate,
@@ -354,7 +354,7 @@ namespace MPF.Processors
break;
case RedumpSystem.SegaNaomi2:
if (Type == MediaType.CDROM)
if (mediaType == MediaType.CDROM)
{
info.Extras!.Header = GetGDROMHeader($"{basePath}.log",
out string? buildDate,
@@ -437,7 +437,7 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
@@ -449,7 +449,7 @@ namespace MPF.Processors
else
basePath = Path.Combine(outputDirectory, outputFilename);
switch (Type)
switch (mediaType)
{
case MediaType.CDROM:
case MediaType.GDROM:

View File

@@ -14,7 +14,7 @@ namespace MPF.Processors
public sealed class UmdImageCreator : BaseProcessor
{
/// <inheritdoc/>
public UmdImageCreator(RedumpSystem? system, MediaType? type) : base(system, type) { }
public UmdImageCreator(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -23,7 +23,7 @@ namespace MPF.Processors
=> MediaType.UMD;
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -77,43 +77,37 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
switch (Type)
{
case MediaType.UMD:
return [
new($"{outputFilename}.iso", OutputFileFlags.Required),
return [
new($"{outputFilename}.iso", OutputFileFlags.Required),
new($"{outputFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"disc"),
new($"{outputFilename}_drive.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"drive"),
new($"{outputFilename}_mainError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"main_error"),
new($"{outputFilename}_mainInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"main_info"),
new($"{outputFilename}_PFI.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"pfi"),
new($"{outputFilename}_volDesc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"vol_desc"),
];
}
return [];
new($"{outputFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"disc"),
new($"{outputFilename}_drive.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"drive"),
new($"{outputFilename}_mainError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"main_error"),
new($"{outputFilename}_mainInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"main_info"),
new($"{outputFilename}_PFI.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"pfi"),
new($"{outputFilename}_volDesc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"vol_desc"),
];
}
#endregion

View File

@@ -14,7 +14,7 @@ namespace MPF.Processors
public sealed class XboxBackupCreator : BaseProcessor
{
/// <inheritdoc/>
public XboxBackupCreator(RedumpSystem? system, MediaType? type) : base(system, type) { }
public XboxBackupCreator(RedumpSystem? system) : base(system) { }
#region BaseProcessor Implementations
@@ -23,7 +23,7 @@ namespace MPF.Processors
=> MediaType.DVD;
/// <inheritdoc/>
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
public override void GenerateSubmissionInfo(SubmissionInfo info, MediaType? mediaType, string basePath, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -136,43 +136,37 @@ namespace MPF.Processors
}
/// <inheritdoc/>
internal override List<OutputFile> GetOutputFiles(string? outputDirectory, string outputFilename)
internal override List<OutputFile> GetOutputFiles(MediaType? mediaType, string? outputDirectory, string outputFilename)
{
// Remove the extension by default
outputFilename = Path.GetFileNameWithoutExtension(outputFilename);
switch (Type)
{
case MediaType.DVD:
return [
new($"{outputFilename}.dvd", OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"dvd"),
new($"{outputFilename}.iso", OutputFileFlags.Required),
return [
new($"{outputFilename}.dvd", OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"dvd"),
new($"{outputFilename}.iso", OutputFileFlags.Required),
new("DMI.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"dmi"),
new RegexOutputFile("[lL]og\\.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"log"),
new("PFI.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"pfi"),
new("RawSS.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"raw_ss"),
new("SS.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"ss"),
];
}
return [];
new("DMI.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"dmi"),
new RegexOutputFile("[lL]og\\.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable,
"log"),
new("PFI.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"pfi"),
new("RawSS.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"raw_ss"),
new("SS.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"ss"),
];
}
#endregion