Update packages

This commit is contained in:
Matt Nadareski
2024-12-06 13:20:36 -05:00
parent e8050d582b
commit a6a83b3e76
18 changed files with 73 additions and 154 deletions

View File

@@ -75,8 +75,8 @@ namespace SabreTools.DatItems.Formats
public Disk(BaseFile baseFile) : base()
{
SetName(baseFile.Filename);
SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, baseFile.MD5.ToHexString());
SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, baseFile.SHA1.ToHexString());
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
}
@@ -94,8 +94,8 @@ namespace SabreTools.DatItems.Formats
{
Filename = this.GetName(),
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.MD5Key)),
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.SHA1Key)),
MD5 = GetStringFieldValue(Models.Metadata.Disk.MD5Key).FromHexString(),
SHA1 = GetStringFieldValue(Models.Metadata.Disk.SHA1Key).FromHexString(),
};
}

View File

@@ -5,7 +5,6 @@ using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using SabreTools.Hashing;
using SabreTools.IO.Extensions;
using SabreTools.Matching;
// TODO: Add item mappings for all fields
namespace SabreTools.DatItems.Formats
@@ -54,8 +53,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("crc", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("crc")]
public string? CRC
{
get { return ByteArrayExtensions.ByteArrayToString(_crc); }
set { _crc = (value == "null" ? ZeroHash.CRC32Arr : ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeCRC32(value))); }
get { return _crc.ToHexString(); }
set { _crc = (value == "null" ? ZeroHash.CRC32Arr : TextHelper.NormalizeCRC32(value).FromHexString()); }
}
/// <summary>
@@ -64,8 +63,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
public string? MD5
{
get { return ByteArrayExtensions.ByteArrayToString(_md5); }
set { _md5 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeMD5(value)); }
get { return _md5.ToHexString(); }
set { _md5 = TextHelper.NormalizeMD5(value).FromHexString(); }
}
/// <summary>
@@ -74,8 +73,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
public string? SHA1
{
get { return ByteArrayExtensions.ByteArrayToString(_sha1); }
set { _sha1 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeSHA1(value)); }
get { return _sha1.ToHexString(); }
set { _sha1 = TextHelper.NormalizeSHA1(value).FromHexString(); }
}
/// <summary>
@@ -84,8 +83,8 @@ namespace SabreTools.DatItems.Formats
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha256")]
public string? SHA256
{
get { return ByteArrayExtensions.ByteArrayToString(_sha256); }
set { _sha256 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeSHA256(value)); }
get { return _sha256.ToHexString(); }
set { _sha256 = TextHelper.NormalizeSHA256(value).FromHexString(); }
}
/// <summary>
@@ -228,19 +227,6 @@ namespace SabreTools.DatItems.Formats
if (Size == null && other.Size != null)
Size = other.Size;
#if NET20
if (Matching.Extensions.IsNullOrEmpty(_crc) && !Matching.Extensions.IsNullOrEmpty(other._crc))
_crc = other._crc;
if (Matching.Extensions.IsNullOrEmpty(_md5) && !Matching.Extensions.IsNullOrEmpty(other._md5))
_md5 = other._md5;
if (Matching.Extensions.IsNullOrEmpty(_sha1) && !Matching.Extensions.IsNullOrEmpty(other._sha1))
_sha1 = other._sha1;
if (Matching.Extensions.IsNullOrEmpty(_sha256) && !Matching.Extensions.IsNullOrEmpty(other._sha256))
_sha256 = other._sha256;
#else
if (_crc.IsNullOrEmpty() && !other._crc.IsNullOrEmpty())
_crc = other._crc;
@@ -252,7 +238,6 @@ namespace SabreTools.DatItems.Formats
if (_sha256.IsNullOrEmpty() && !other._sha256.IsNullOrEmpty())
_sha256 = other._sha256;
#endif
}
/// <summary>
@@ -261,18 +246,6 @@ namespace SabreTools.DatItems.Formats
/// <returns>String representing the suffix</returns>
public string GetDuplicateSuffix()
{
#if NET20
if (!Matching.Extensions.IsNullOrEmpty(_crc))
return $"_{CRC}";
else if (!Matching.Extensions.IsNullOrEmpty(_md5))
return $"_{MD5}";
else if (!Matching.Extensions.IsNullOrEmpty(_sha1))
return $"_{SHA1}";
else if (!Matching.Extensions.IsNullOrEmpty(_sha256))
return $"_{SHA256}";
else
return "_1";
#else
if (!_crc.IsNullOrEmpty())
return $"_{CRC}";
else if (!_md5.IsNullOrEmpty())
@@ -283,7 +256,6 @@ namespace SabreTools.DatItems.Formats
return $"_{SHA256}";
else
return "_1";
#endif
}
/// <summary>
@@ -292,17 +264,10 @@ namespace SabreTools.DatItems.Formats
/// <returns>True if any hash exists, false otherwise</returns>
public bool HasHashes()
{
#if NET20
return !Matching.Extensions.IsNullOrEmpty(_crc)
|| !Matching.Extensions.IsNullOrEmpty(_md5)
|| !Matching.Extensions.IsNullOrEmpty(_sha1)
|| !Matching.Extensions.IsNullOrEmpty(_sha256);
#else
return !_crc.IsNullOrEmpty()
|| !_md5.IsNullOrEmpty()
|| !_sha1.IsNullOrEmpty()
|| !_sha256.IsNullOrEmpty();
#endif
}
/// <summary>
@@ -324,17 +289,10 @@ namespace SabreTools.DatItems.Formats
/// <returns>True if at least one hash is not mutually exclusive, false otherwise</returns>
private bool HasCommonHash(File other)
{
#if NET20
return !(Matching.Extensions.IsNullOrEmpty(_crc) ^ Matching.Extensions.IsNullOrEmpty(other._crc))
|| !(Matching.Extensions.IsNullOrEmpty(_md5) ^ Matching.Extensions.IsNullOrEmpty(other._md5))
|| !(Matching.Extensions.IsNullOrEmpty(_sha1) ^ Matching.Extensions.IsNullOrEmpty(other._sha1))
|| !(Matching.Extensions.IsNullOrEmpty(_sha256) ^ Matching.Extensions.IsNullOrEmpty(other._sha256));
#else
return !(_crc.IsNullOrEmpty() ^ other._crc.IsNullOrEmpty())
|| !(_md5.IsNullOrEmpty() ^ other._md5.IsNullOrEmpty())
|| !(_sha1.IsNullOrEmpty() ^ other._sha1.IsNullOrEmpty())
|| !(_sha256.IsNullOrEmpty() ^ other._sha256.IsNullOrEmpty());
#endif
}
/// <summary>

View File

@@ -37,9 +37,9 @@ namespace SabreTools.DatItems.Formats
public Media(BaseFile baseFile) : base()
{
SetName(baseFile.Filename);
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.MD5Key, baseFile.MD5.ToHexString());
SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, baseFile.SHA1.ToHexString());
SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, baseFile.SHA256.ToHexString());
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 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.MD5Key)),
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA1Key)),
SHA256 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA256Key)),
MD5 = GetStringFieldValue(Models.Metadata.Media.MD5Key).FromHexString(),
SHA1 = GetStringFieldValue(Models.Metadata.Media.SHA1Key).FromHexString(),
SHA256 = GetStringFieldValue(Models.Metadata.Media.SHA256Key).FromHexString(),
SpamSum = System.Text.Encoding.UTF8.GetBytes(GetStringFieldValue(Models.Metadata.Media.SpamSumKey) ?? string.Empty),
};
}

View File

@@ -95,12 +95,12 @@ namespace SabreTools.DatItems.Formats
{
SetName(baseFile.Filename);
SetFieldValue<string?>(Models.Metadata.Rom.DateKey, baseFile.Date);
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.CRCKey, baseFile.CRC.ToHexString());
SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, baseFile.MD5.ToHexString());
SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, baseFile.SHA1.ToHexString());
SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, baseFile.SHA256.ToHexString());
SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, baseFile.SHA384.ToHexString());
SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, baseFile.SHA512.ToHexString());
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));
@@ -129,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 = 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)),
CRC = GetStringFieldValue(Models.Metadata.Rom.CRCKey).FromHexString(),
MD5 = GetStringFieldValue(Models.Metadata.Rom.MD5Key).FromHexString(),
SHA1 = GetStringFieldValue(Models.Metadata.Rom.SHA1Key).FromHexString(),
SHA256 = GetStringFieldValue(Models.Metadata.Rom.SHA256Key).FromHexString(),
SHA384 = GetStringFieldValue(Models.Metadata.Rom.SHA384Key).FromHexString(),
SHA512 = GetStringFieldValue(Models.Metadata.Rom.SHA512Key).FromHexString(),
SpamSum = spamSum != null ? System.Text.Encoding.UTF8.GetBytes(spamSum) : null,
};
}

View File

@@ -27,9 +27,9 @@
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="SabreTools.IO" Version="1.5.0" />
<PackageReference Include="SabreTools.Matching" Version="1.4.0" />
<PackageReference Include="SabreTools.Models" Version="1.5.0" />
<PackageReference Include="SabreTools.IO" Version="1.6.1" />
<PackageReference Include="SabreTools.Matching" Version="1.5.0" />
<PackageReference Include="SabreTools.Models" Version="1.5.5" />
</ItemGroup>
</Project>