Add artifact keys for all relevant files

This commit is contained in:
Matt Nadareski
2024-08-22 15:03:36 -04:00
parent 0fc53cb534
commit f15fc989c8
9 changed files with 210 additions and 108 deletions

View File

@@ -39,6 +39,7 @@
- Move GetLogFilePaths to better location
- Replace GenerateArtifacts with common code
- Define new ArtifactKey field
- Add artifact keys for all relevant files
### 3.2.1 (2024-08-05)

View File

@@ -256,24 +256,31 @@ namespace MPF.Processors
new($"{baseFilename}.aaruf", OutputFileFlags.Required),
new($"{baseFilename}.cicm.xml", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cicm"),
new($"{baseFilename}.error.log", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"error_log"),
new($"{baseFilename}.ibg", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"ibg"),
new($"{baseFilename}.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"log"),
new($"{baseFilename}.mhddlog.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"mhddlog"),
new($"{baseFilename}.resume.xml", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"resume"),
new($"{baseFilename}.sub.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"sub_log"),
];
case MediaType.DVD:
@@ -283,21 +290,27 @@ namespace MPF.Processors
new($"{baseFilename}.aaruf", OutputFileFlags.Required),
new($"{baseFilename}.cicm.xml", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cicm"),
new($"{baseFilename}.error.log", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"error_log"),
new($"{baseFilename}.ibg", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"ibg"),
new($"{baseFilename}.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"log"),
new($"{baseFilename}.mhddlog.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"mhddlog"),
new($"{baseFilename}.resume.xml", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"resume"),
];
}

View File

@@ -85,7 +85,6 @@ namespace MPF.Processors
if (!File.Exists(outputFilePath))
continue;
// TODO: Determine a better way of getting the artifact key
// Get binary artifacts as a byte array
if (outputFile.IsBinaryArtifact)
{

View File

@@ -113,12 +113,14 @@ namespace MPF.Processors
return [
new($"{baseFilename}.bca", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"bca"),
new($"{baseFilename}.iso", OutputFileFlags.Required),
new($"{baseFilename}-dumpinfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"dumpinfo"),
];
}

View File

@@ -655,71 +655,92 @@ namespace MPF.Processors
{
case MediaType.CDROM:
return [
new($"{baseFilename}.c2", OutputFileFlags.Zippable), // Doesn't output on Linux
new($"{baseFilename}.c2", OutputFileFlags.Binary
| OutputFileFlags.Zippable,
"c2"), // Doesn't output on Linux
new($"{baseFilename}.ccd", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"ccd"),
// TODO: Figure out how to get the command path generically?
new($"{baseFilename}.cue", OutputFileFlags.Required),
new($"{baseFilename}.dat", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
new($"{baseFilename}.img", OutputFileFlags.Required
| OutputFileFlags.Deleteable),
new([$"{baseFilename}.img_EdcEcc.txt", $"{baseFilename}.img_EccEdc.txt"], System.IsAudio()
? OutputFileFlags.Artifact | OutputFileFlags.Zippable
: OutputFileFlags.Required | OutputFileFlags.Artifact | OutputFileFlags.Zippable),
: OutputFileFlags.Required | OutputFileFlags.Artifact | OutputFileFlags.Zippable,
"img_edcecc"),
new([$"{baseFilename}.scm", $"{baseFilename}.scmtmp"], System.IsAudio()
? OutputFileFlags.Deleteable
: OutputFileFlags.Required | OutputFileFlags.Deleteable),
new([$"{baseFilename}.sub", $"{baseFilename}.subtmp"], OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"sub"),
new($"{baseFilename}.toc", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"toc"),
new($"{baseFilename}_c2Error.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable), // Doesn't output on Linux
| OutputFileFlags.Zippable,
"c2_error"), // Doesn't output on Linux
new($"{baseFilename}_cmd.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cmd"),
new($"{baseFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"disc"),
new($"{baseFilename}_drive.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"drive"),
new($"{baseFilename}_img.cue", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"img_cue"),
new($"{baseFilename}_mainError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_error"),
new($"{baseFilename}_mainInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_info"),
new([$"{baseFilename}_sub.txt", $"{baseFilename}_subReadable.txt"], OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"sub_readable"),
new($"{baseFilename}_subError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"sub_error"),
new($"{baseFilename}_subInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"sub_info"),
new($"{baseFilename}_subIntention.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"sub_intention"),
new($"{baseFilename}_suppl.dat", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"suppl_dat"),
new($"{baseFilename}_volDesc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"vol_desc"),
new([$"{baseFilename} (Track 0).sub", $"{baseFilename} (Track 00).sub"], OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"track00_sub"),
new([$"{baseFilename} (Track 1)(-LBA).sub", $"{baseFilename} (Track 01)(-LBA).sub"], OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"track1_lba_sub"),
new($"{baseFilename} (Track AA).sub", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"track_aa_sub"),
];
// TODO: Confirm GD-ROM HD area outputs
@@ -727,30 +748,37 @@ namespace MPF.Processors
return [
// TODO: Figure out how to get the command path generically?
new($"{baseFilename}.dat", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
new($"{baseFilename}.toc", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"toc"),
new($"{baseFilename}_cmd.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cmd"),
new($"{baseFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"disc"),
new($"{baseFilename}_drive.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"drive"),
new($"{baseFilename}_mainError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_error"),
new($"{baseFilename}_mainInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_info"),
new($"{baseFilename}_suppl.dat", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"suppl_dat"),
new($"{baseFilename}_volDesc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"vol_desc"),
];
case MediaType.DVD:
@@ -761,43 +789,55 @@ namespace MPF.Processors
return [
// TODO: Figure out how to get the command path generically?
new($"{baseFilename}.dat", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
new($"{baseFilename}.raw", OutputFileFlags.None),
new($"{baseFilename}.toc", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"toc"),
new($"{baseFilename}_cmd.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cmd"),
new($"{baseFilename}_CSSKey.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"css_key"),
new($"{baseFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"disc"),
new($"{baseFilename}_drive.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"drive"),
new($"{baseFilename}_mainError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_error"),
new($"{baseFilename}_mainInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_info"),
new($"{baseFilename}_suppl.dat", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"suppl_dat"),
new($"{baseFilename}_volDesc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"vol_desc"),
// TODO: Figure out when these are required
new($"{baseFilename}_DMI.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"dmi"),
new($"{baseFilename}_PFI.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"pfi"),
new($"{baseFilename}_PIC.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"pic"),
new($"{baseFilename}_SS.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"ss"),
];
case MediaType.FloppyDisk:
@@ -806,14 +846,15 @@ namespace MPF.Processors
return [
// TODO: Figure out how to get the command path generically?
new($"{baseFilename}.dat", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
new($"{baseFilename}_cmd.txt", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cmd"),
new($"{baseFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"disc"),
];
}

View File

@@ -115,10 +115,12 @@ namespace MPF.Processors
new($"{baseFilename}.iso", OutputFileFlags.Required),
new($"{baseFilename}.getkey.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"getkey_log"),
new($"{baseFilename}.disc.pic", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"disc_pic"),
];
}

View File

@@ -492,37 +492,47 @@ namespace MPF.Processors
case MediaType.CDROM:
List<OutputFile> cdrom = [
new($"{baseFilename}.asus", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"asus"),
new($"{baseFilename}.atip", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"atip"),
new($"{baseFilename}.cdtext", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"cdtext"),
new($"{baseFilename}.cue", OutputFileFlags.Required),
new($"{baseFilename}.fulltoc", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"fulltoc"),
new($"{baseFilename}.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"log"),
new($"{baseFilename}.pma", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"pma"),
new([$"{baseFilename}.scram", $"{baseFilename}.scrap"], OutputFileFlags.Required
| OutputFileFlags.Deleteable),
new($"{baseFilename}.state", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"state"),
new($"{baseFilename}.subcode", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"subcode"),
new($"{baseFilename}.toc", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"toc"),
];
// Include .hash and .skeleton for all files in cuesheet
var cueSheet = SabreTools.Serialization.Deserializers.CueSheet.DeserializeFile($"{baseFilename}.cue");
if (cueSheet?.Files != null)
{
int trackId = 1;
foreach (CueFile? file in cueSheet.Files)
{
string? trackName = Path.GetFileNameWithoutExtension(file?.FileName);
@@ -530,17 +540,22 @@ namespace MPF.Processors
continue;
cdrom.Add(new($"{trackName}.hash", OutputFileFlags.Binary
| OutputFileFlags.Zippable));
| OutputFileFlags.Zippable,
$"hash_{trackId}"));
cdrom.Add(new($"{trackName}.skeleton", OutputFileFlags.Binary
| OutputFileFlags.Zippable));
| OutputFileFlags.Zippable,
$"skeleton_{trackId}"));
trackId++;
}
}
else
{
cdrom.Add(new($"{baseFilename}.hash", OutputFileFlags.Binary
| OutputFileFlags.Zippable));
| OutputFileFlags.Zippable,
"hash"));
cdrom.Add(new($"{baseFilename}.skeleton", OutputFileFlags.Binary
| OutputFileFlags.Zippable));
| OutputFileFlags.Zippable,
"skeleton"));
}
return cdrom;
@@ -548,53 +563,71 @@ namespace MPF.Processors
case MediaType.DVD:
return [
new($"{baseFilename}.asus", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"asus"),
new($"{baseFilename}.hash", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"hash"),
new($"{baseFilename}.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"log"),
new([$"{baseFilename}.manufacturer", $"{baseFilename}.1.manufacturer"], OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"manufacturer_1"),
new($"{baseFilename}.2.manufacturer", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"manufacturer_2"),
new([$"{baseFilename}.physical", $"{baseFilename}.0.physical"], OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"physical_0"),
new($"{baseFilename}.1.physical", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"physical_1"),
new($"{baseFilename}.2.physical", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"physical_2"),
new($"{baseFilename}.skeleton", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"skeleton"),
new($"{baseFilename}.state", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"state"),
];
case MediaType.HDDVD: // TODO: Confirm that this information outputs
case MediaType.BluRay:
return [
new($"{baseFilename}.asus", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"asus"),
new($"{baseFilename}.hash", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"hash"),
new($"{baseFilename}.log", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"log"),
new([$"{baseFilename}.physical", $"{baseFilename}.0.physical"], OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"physical_0"),
new($"{baseFilename}.1.physical", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"physical_1"),
new($"{baseFilename}.2.physical", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"physical_2"),
new($"{baseFilename}.skeleton", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"skeleton"),
new($"{baseFilename}.state", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"state"),
];
}

View File

@@ -126,18 +126,23 @@ namespace MPF.Processors
new($"{baseFilename}_disc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"disc"),
new($"{baseFilename}_mainError.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_error"),
new($"{baseFilename}_mainInfo.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"main_info"),
new($"{baseFilename}_PFI.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"pfi"),
new($"{baseFilename}_volDesc.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"vol_desc"),
];
}

View File

@@ -203,23 +203,29 @@ namespace MPF.Processors
case MediaType.DVD:
return [
new($"{baseFilename}.dvd", OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"dvd"),
new($"{baseFilename}.iso", OutputFileFlags.Required),
new("DMI.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"dmi"),
new("Log.txt", OutputFileFlags.Required
| OutputFileFlags.Artifact
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"log"),
new("PFI.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"pfi"),
new("RawSS.bin", OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"raw_ss"),
new("SS.bin", OutputFileFlags.Required
| OutputFileFlags.Binary
| OutputFileFlags.Zippable),
| OutputFileFlags.Zippable,
"ss"),
];
}