Use new IO byte array extensions

This commit is contained in:
Matt Nadareski
2024-10-24 00:46:28 -04:00
parent 15dba6fbbd
commit c6109fdf97
11 changed files with 52 additions and 99 deletions

View File

@@ -3,6 +3,7 @@ using Newtonsoft.Json;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using SabreTools.IO.Extensions;
namespace SabreTools.DatItems.Formats
{
@@ -74,8 +75,8 @@ namespace SabreTools.DatItems.Formats
public Disk(BaseFile baseFile) : base()
{
SetName(baseFile.Filename);
SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, TextHelper.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, TextHelper.ByteArrayToString(baseFile.SHA1));
SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
}
@@ -93,8 +94,8 @@ namespace SabreTools.DatItems.Formats
{
Filename = this.GetName(),
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
MD5 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.MD5Key)),
SHA1 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.SHA1Key)),
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.MD5Key)),
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.SHA1Key)),
};
}

View File

@@ -4,6 +4,7 @@ using Newtonsoft.Json;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using SabreTools.Hashing;
using SabreTools.IO.Extensions;
using SabreTools.Matching;
// TODO: Add item mappings for all fields
@@ -53,8 +54,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("crc", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("crc")]
public string? CRC
{
get { return _crc.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_crc); }
set { _crc = (value == "null" ? Constants.CRCZeroBytes : TextHelper.StringToByteArray(TextHelper.NormalizeCRC32(value))); }
get { return _crc.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_crc); }
set { _crc = (value == "null" ? Constants.CRCZeroBytes : ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeCRC32(value))); }
}
/// <summary>
@@ -63,8 +64,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
public string? MD5
{
get { return _md5.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_md5); }
set { _md5 = TextHelper.StringToByteArray(TextHelper.NormalizeMD5(value)); }
get { return _md5.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_md5); }
set { _md5 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeMD5(value)); }
}
/// <summary>
@@ -73,8 +74,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
public string? SHA1
{
get { return _sha1.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_sha1); }
set { _sha1 = TextHelper.StringToByteArray(TextHelper.NormalizeSHA1(value)); }
get { return _sha1.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_sha1); }
set { _sha1 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeSHA1(value)); }
}
/// <summary>
@@ -83,8 +84,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha256")]
public string? SHA256
{
get { return _sha256.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_sha256); }
set { _sha256 = TextHelper.StringToByteArray(TextHelper.NormalizeSHA256(value)); }
get { return _sha256.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_sha256); }
set { _sha256 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeSHA256(value)); }
}
/// <summary>

View File

@@ -1,8 +1,8 @@
using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using SabreTools.IO.Extensions;
namespace SabreTools.DatItems.Formats
{
@@ -37,9 +37,9 @@ namespace SabreTools.DatItems.Formats
public Media(BaseFile baseFile) : base()
{
SetName(baseFile.Filename);
SetFieldValue<string?>(Models.Metadata.Media.MD5Key, TextHelper.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, TextHelper.ByteArrayToString(baseFile.SHA1));
SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, TextHelper.ByteArrayToString(baseFile.SHA256));
SetFieldValue<string?>(Models.Metadata.Media.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA256));
SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, System.Text.Encoding.UTF8.GetString(baseFile.SpamSum ?? []));
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
@@ -58,9 +58,9 @@ namespace SabreTools.DatItems.Formats
{
Filename = this.GetName(),
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
MD5 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.MD5Key)),
SHA1 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA1Key)),
SHA256 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA256Key)),
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.MD5Key)),
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA1Key)),
SHA256 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA256Key)),
SpamSum = System.Text.Encoding.UTF8.GetBytes(GetStringFieldValue(Models.Metadata.Media.SpamSumKey) ?? string.Empty),
};
}

View File

@@ -3,6 +3,7 @@ using Newtonsoft.Json;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using SabreTools.IO.Extensions;
namespace SabreTools.DatItems.Formats
{
@@ -94,12 +95,12 @@ namespace SabreTools.DatItems.Formats
{
SetName(baseFile.Filename);
SetFieldValue<string?>(Models.Metadata.Rom.DateKey, baseFile.Date);
SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, TextHelper.ByteArrayToString(baseFile.CRC));
SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, TextHelper.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, TextHelper.ByteArrayToString(baseFile.SHA1));
SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, TextHelper.ByteArrayToString(baseFile.SHA256));
SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, TextHelper.ByteArrayToString(baseFile.SHA384));
SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, TextHelper.ByteArrayToString(baseFile.SHA512));
SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, ByteArrayExtensions.ByteArrayToString(baseFile.CRC));
SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA256));
SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA384));
SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA512));
SetFieldValue<string?>(Models.Metadata.Rom.SizeKey, baseFile.Size.ToString());
if (baseFile.SpamSum != null)
SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, System.Text.Encoding.UTF8.GetString(baseFile.SpamSum));
@@ -128,12 +129,12 @@ namespace SabreTools.DatItems.Formats
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
Date = GetStringFieldValue(Models.Metadata.Rom.DateKey),
Size = NumberHelper.ConvertToInt64(GetStringFieldValue(Models.Metadata.Rom.SizeKey)),
CRC = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.CRCKey)),
MD5 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.MD5Key)),
SHA1 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA1Key)),
SHA256 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA256Key)),
SHA384 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA384Key)),
SHA512 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA512Key)),
CRC = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.CRCKey)),
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.MD5Key)),
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA1Key)),
SHA256 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA256Key)),
SHA384 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA384Key)),
SHA512 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA512Key)),
SpamSum = spamSum != null ? System.Text.Encoding.UTF8.GetBytes(spamSum) : null,
};
}