Convert header filename to a key

This commit is contained in:
Matt Nadareski
2024-03-10 21:41:49 -04:00
parent 91875b4eaf
commit 6b17eb456b
15 changed files with 80 additions and 77 deletions

View File

@@ -71,7 +71,7 @@ namespace SabreTools.DatTools
datFile.Items.BucketBy(ItemKey.Machine, DedupeType.None);
// Output the number of items we're going to be writing
logger.User($"A total of {datFile.Items.TotalCount - datFile.Items.RemovedCount} items will be written out to '{datFile.Header.FileName}'");
logger.User($"A total of {datFile.Items.TotalCount - datFile.Items.RemovedCount} items will be written out to '{datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)}'");
// Get the outfile names
Dictionary<DatFormat, string> outfiles = datFile.Header.CreateOutFileNames(outDir!, overwrite);
@@ -135,7 +135,7 @@ namespace SabreTools.DatTools
new()
{
Statistics = datFile.Items,
DisplayName = datFile.Header.FileName,
DisplayName = datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey),
MachineCount = datFile.Items.Keys.Count,
IsDirectory = false,
},
@@ -151,30 +151,30 @@ namespace SabreTools.DatTools
private static void EnsureHeaderFields(DatFile datFile)
{
// Empty FileName
if (string.IsNullOrEmpty(datFile.Header.FileName))
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)))
{
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
{
datFile.Header.FileName = "Default";
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey,"Default");
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "Default");
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, "Default");
}
else if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
{
datFile.Header.FileName = datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey);
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey,datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
}
else if (!string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
{
datFile.Header.FileName = datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey);
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
}
else if (!string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
{
datFile.Header.FileName = datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey);
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
}
}
@@ -183,8 +183,8 @@ namespace SabreTools.DatTools
{
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
{
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.FileName);
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.FileName);
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey));
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey));
}
else if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))