Convert most of Media over to properties

This commit is contained in:
Matt Nadareski
2026-04-03 19:47:58 -04:00
parent 5b3ff31f85
commit 8e2f519e15
36 changed files with 444 additions and 423 deletions

View File

@@ -523,7 +523,7 @@ namespace SabreTools.Metadata.DatFiles
else if (item is Media media)
{
// We can only write out if there's a SHA-1
string? sha1 = media.ReadString(Data.Models.Metadata.Media.SHA1Key);
string? sha1 = media.SHA1;
if (!string.IsNullOrEmpty(sha1))
{
name = Utilities.GetDepotPath(sha1, Modifiers.OutputDepot.Depth)?.Replace('\\', '/');
@@ -620,10 +620,10 @@ namespace SabreTools.Metadata.DatFiles
}
else if (item is Media media)
{
md5 = media.ReadString(Data.Models.Metadata.Media.MD5Key) ?? string.Empty;
sha1 = media.ReadString(Data.Models.Metadata.Media.SHA1Key) ?? string.Empty;
sha256 = media.ReadString(Data.Models.Metadata.Media.SHA256Key) ?? string.Empty;
spamsum = media.ReadString(Data.Models.Metadata.Media.SpamSumKey) ?? string.Empty;
md5 = media.MD5 ?? string.Empty;
sha1 = media.SHA1 ?? string.Empty;
sha256 = media.SHA256 ?? string.Empty;
spamsum = media.SpamSum ?? string.Empty;
}
else if (item is Rom rom)
{
@@ -1072,19 +1072,19 @@ namespace SabreTools.Metadata.DatFiles
/// </summary>
private static string GetDuplicateSuffix(Media datItem)
{
string? md5 = datItem.ReadString(Data.Models.Metadata.Media.MD5Key);
string? md5 = datItem.MD5;
if (!string.IsNullOrEmpty(md5))
return $"_{md5}";
string? sha1 = datItem.ReadString(Data.Models.Metadata.Media.SHA1Key);
string? sha1 = datItem.SHA1;
if (!string.IsNullOrEmpty(sha1))
return $"_{sha1}";
string? sha256 = datItem.ReadString(Data.Models.Metadata.Media.SHA256Key);
string? sha256 = datItem.SHA256;
if (!string.IsNullOrEmpty(sha256))
return $"_{sha256}";
string? spamSum = datItem.ReadString(Data.Models.Metadata.Media.SpamSumKey);
string? spamSum = datItem.SpamSum;
if (!string.IsNullOrEmpty(spamSum))
return $"_{spamSum}";

View File

@@ -359,10 +359,10 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="media">Item to add info from</param>
private void AddItemStatistics(Media media)
{
AddHashCount(HashType.MD5, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1);
AddHashCount(HashType.SHA1, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1);
AddHashCount(HashType.SHA256, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1);
AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1);
AddHashCount(HashType.MD5, string.IsNullOrEmpty(media.MD5) ? 0 : 1);
AddHashCount(HashType.SHA1, string.IsNullOrEmpty(media.SHA1) ? 0 : 1);
AddHashCount(HashType.SHA256, string.IsNullOrEmpty(media.SHA256) ? 0 : 1);
AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.SpamSum) ? 0 : 1);
}
/// <summary>
@@ -488,10 +488,10 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="media">Item to remove info for</param>
private void RemoveItemStatistics(Media media)
{
RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1);
RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1);
RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1);
RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1);
RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(media.MD5) ? 0 : 1);
RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(media.SHA1) ? 0 : 1);
RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(media.SHA256) ? 0 : 1);
RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.SpamSum) ? 0 : 1);
}
/// <summary>

View File

@@ -317,12 +317,12 @@ namespace SabreTools.Metadata.DatFiles.Formats
case Media media:
if (string.IsNullOrEmpty(media.Name))
missingFields.Add(nameof(Data.Models.Metadata.Media.Name));
if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)))
if (string.IsNullOrEmpty(media.MD5)
&& string.IsNullOrEmpty(media.SHA1)
&& string.IsNullOrEmpty(media.SHA256)
&& string.IsNullOrEmpty(media.SpamSum))
{
missingFields.Add(Data.Models.Metadata.Media.SHA1Key);
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1));
}
break;

View File

@@ -45,8 +45,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
break;
case Media medium:
if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.MD5Key)))
missingFields.Add(Data.Models.Metadata.Media.MD5Key);
if (string.IsNullOrEmpty(medium.MD5))
missingFields.Add(nameof(Data.Models.Metadata.Media.MD5));
break;
case Rom rom:

View File

@@ -82,12 +82,12 @@ namespace SabreTools.Metadata.DatFiles.Formats
break;
case Media media:
if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)))
if (string.IsNullOrEmpty(media.MD5)
&& string.IsNullOrEmpty(media.SHA1)
&& string.IsNullOrEmpty(media.SHA256)
&& string.IsNullOrEmpty(media.SpamSum))
{
missingFields.Add(Data.Models.Metadata.Media.SHA1Key);
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1));
}
break;

View File

@@ -45,8 +45,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
break;
case Media medium:
if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SHA1Key)))
missingFields.Add(Data.Models.Metadata.Media.SHA1Key);
if (string.IsNullOrEmpty(medium.SHA1))
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1));
break;
case Rom rom:

View File

@@ -39,8 +39,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
switch (datItem)
{
case Media medium:
if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SHA256Key)))
missingFields.Add(Data.Models.Metadata.Media.SHA256Key);
if (string.IsNullOrEmpty(medium.SHA256))
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA256));
break;
case Rom rom:

View File

@@ -39,8 +39,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
switch (datItem)
{
case Media medium:
if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SpamSumKey)))
missingFields.Add(Data.Models.Metadata.Media.SpamSumKey);
if (string.IsNullOrEmpty(medium.SpamSum))
missingFields.Add(nameof(Data.Models.Metadata.Media.SpamSum));
break;
case Rom rom:

View File

@@ -124,10 +124,10 @@ namespace SabreTools.Metadata.DatFiles
else if (item is Media media)
{
// If the file has aboslutely no hashes, skip and log
if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)))
if (string.IsNullOrEmpty(media.MD5)
&& string.IsNullOrEmpty(media.SHA1)
&& string.IsNullOrEmpty(media.SHA256)
&& string.IsNullOrEmpty(media.SpamSum))
{
_logger.Verbose($"Incomplete entry for '{media.Name}' will be output as nodump");
}

View File

@@ -213,10 +213,10 @@ namespace SabreTools.Metadata.DatFiles
else if (item is Media media)
{
// If the file has aboslutely no hashes, skip and log
if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key))
&& string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)))
if (string.IsNullOrEmpty(media.MD5)
&& string.IsNullOrEmpty(media.SHA1)
&& string.IsNullOrEmpty(media.SHA256)
&& string.IsNullOrEmpty(media.SpamSum))
{
_logger.Verbose($"Incomplete entry for '{media.Name}' will be output as nodump");
}