From c87db265dd832627d87afc7a937fe5dab91d3da2 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 2 Apr 2026 20:34:09 -0400 Subject: [PATCH] Turn removal key into a metadata property --- .../DatFileTests.Filtering.cs | 4 +- .../DatFileTests.cs | 2 +- .../ItemDictionaryDBTests.cs | 6 +- .../ItemDictionaryTests.cs | 6 +- .../DatFile.Filtering.cs | 4 +- SabreTools.Metadata.DatFiles/DatFile.cs | 2 +- SabreTools.Metadata.DatFiles/DatStatistics.cs | 208 +----------------- .../ItemDictionary.cs | 10 +- .../ItemDictionaryDB.cs | 8 +- .../Formats/DiskTests.cs | 4 +- .../Formats/FileTests.cs | 4 +- .../Formats/MediaTests.cs | 4 +- SabreTools.Metadata.DatItems/DatItem.cs | 10 +- SabreTools.Metadata.DatItems/Formats/Disk.cs | 2 +- SabreTools.Metadata.DatItems/Formats/File.cs | 4 +- SabreTools.Metadata.DatItems/Formats/Media.cs | 2 +- 16 files changed, 38 insertions(+), 242 deletions(-) diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs index f82d53f8..32bcb133 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs @@ -36,7 +36,7 @@ namespace SabreTools.Metadata.DatFiles.Test var actualDatItems = datFile.GetItemsForBucket("machine"); DatItem actualRom = Assert.Single(actualDatItems); - Assert.Equal(true, actualRom.ReadBool(DatItem.RemoveKey)); + Assert.True(actualRom.RemoveFlag); } [Fact] @@ -66,7 +66,7 @@ namespace SabreTools.Metadata.DatFiles.Test var actualDatItems = datFile.GetItemsForBucketDB("machine"); DatItem actualRom = Assert.Single(actualDatItems).Value; - Assert.Equal(true, actualRom.ReadBool(DatItem.RemoveKey)); + Assert.True(actualRom.RemoveFlag); } #endregion diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs index 8f2b0805..19683978 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs @@ -2287,7 +2287,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void ShouldIgnore_RemoveSet_True() { DatItem? datItem = new Rom(); - datItem.Write(DatItem.RemoveKey, true); + datItem.RemoveFlag = true; DatFile datFile = new Logiqx(null, useGame: false); bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: true); diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs index 604824b7..069df989 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs @@ -307,7 +307,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom2 = new Rom(); rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom2.Write(DatItem.RemoveKey, true); + rom2.RemoveFlag = true; rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); @@ -378,7 +378,7 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Name = "machine"; DatItem item = new Rom(); - item.Write(DatItem.RemoveKey, true); + item.RemoveFlag = true; var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -399,7 +399,7 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Name = "machine"; DatItem item = new Rom(); - item.Write(DatItem.RemoveKey, true); + item.RemoveFlag = true; var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs index 3530f4ce..2a40441c 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs @@ -276,7 +276,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom2 = new Rom(); rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom2.Write(DatItem.RemoveKey, true); + rom2.RemoveFlag = true; rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); @@ -345,7 +345,7 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Name = "machine"; DatItem item = new Rom(); - item.Write(DatItem.RemoveKey, true); + item.RemoveFlag = true; item.Source = source; item.Machine = machine; @@ -366,7 +366,7 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Name = "machine"; DatItem item = new Rom(); - item.Write(DatItem.RemoveKey, true); + item.RemoveFlag = true; item.Source = source; item.Machine = machine; diff --git a/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs b/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs index 5ae6b63c..f0d20fcd 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs @@ -242,7 +242,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in items) { if (!item.PassesFilter(filterRunner)) - item.Write(DatItem.RemoveKey, true); + item.RemoveFlag = true; } } @@ -263,7 +263,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in items) { if (!item.Value.PassesFilterDB(filterRunner)) - item.Value.Write(DatItem.RemoveKey, true); + item.Value.RemoveFlag = true; } } diff --git a/SabreTools.Metadata.DatFiles/DatFile.cs b/SabreTools.Metadata.DatFiles/DatFile.cs index 1641df98..ebcfa269 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.cs @@ -980,7 +980,7 @@ namespace SabreTools.Metadata.DatFiles } // If the item is supposed to be removed, we ignore - if (datItem.ReadBool(DatItem.RemoveKey) == true) + if (datItem.RemoveFlag) { string itemString = JsonConvert.SerializeObject(datItem, Formatting.None); _logger.Verbose($"Item '{itemString}' was skipped because it was marked for removal"); diff --git a/SabreTools.Metadata.DatFiles/DatStatistics.cs b/SabreTools.Metadata.DatFiles/DatStatistics.cs index 496ea3ec..8dcd2dab 100644 --- a/SabreTools.Metadata.DatFiles/DatStatistics.cs +++ b/SabreTools.Metadata.DatFiles/DatStatistics.cs @@ -117,7 +117,7 @@ namespace SabreTools.Metadata.DatFiles TotalCount++; // Increment removal count - if (item.ReadBool(DatItem.RemoveKey) == true) + if (item.RemoveFlag) RemovedCount++; // Increment the item count for the type @@ -144,44 +144,6 @@ namespace SabreTools.Metadata.DatFiles } } - /// - /// Add to the statistics for a given DatItem - /// - /// Item to add info from - public void AddItemStatistics(Data.Models.Metadata.DatItem item) - { - lock (statsLock) - { - // No matter what the item is, we increment the count - TotalCount++; - - // Increment removal count - if (item.ReadBool(DatItem.RemoveKey) == true) - RemovedCount++; - - // Increment the item count for the type - AddItemCount(item.ItemType); - - // Some item types require special processing - switch (item) - { - case Data.Models.Metadata.Disk disk: - AddItemStatistics(disk); - break; - case Data.Models.Metadata.Media media: - AddItemStatistics(media); - break; - case Data.Models.Metadata.Rom rom: - AddItemStatistics(rom); - break; - - default: - // Item type requires no special processing - break; - } - } - } - /// /// Add statistics from another DatStatistics object /// @@ -279,7 +241,7 @@ namespace SabreTools.Metadata.DatFiles TotalCount--; // Decrement removal count - if (item.ReadBool(DatItem.RemoveKey) == true) + if (item.RemoveFlag) RemovedCount--; // Decrement the item count for the type @@ -308,48 +270,6 @@ namespace SabreTools.Metadata.DatFiles } } - /// - /// Remove from the statistics given a DatItem - /// - /// Item to remove info for - public void RemoveItemStatistics(Data.Models.Metadata.DatItem item) - { - // If we have a null item, we can't do anything - if (item is null) - return; - - lock (statsLock) - { - // No matter what the item is, we decrease the count - TotalCount--; - - // Decrement removal count - if (item.ReadBool(DatItem.RemoveKey) == true) - RemovedCount--; - - // Decrement the item count for the type - RemoveItemCount(item.ItemType); - - // Some item types require special processing - switch (item) - { - case Data.Models.Metadata.Disk disk: - RemoveItemStatistics(disk); - break; - case Data.Models.Metadata.Media media: - RemoveItemStatistics(media); - break; - case Data.Models.Metadata.Rom rom: - RemoveItemStatistics(rom); - break; - - default: - // Item type requires no special processing - break; - } - } - } - /// /// Reset all statistics /// @@ -420,25 +340,6 @@ namespace SabreTools.Metadata.DatFiles AddStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); } - /// - /// Add to the statistics for a given Disk - /// - /// Item to add info from - private void AddItemStatistics(Data.Models.Metadata.Disk disk) - { - ItemStatus? status = disk.Status; - if (status != ItemStatus.Nodump) - { - AddHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1); - AddHashCount(HashType.SHA1, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)) ? 0 : 1); - } - - AddStatusCount(ItemStatus.BadDump, status == ItemStatus.BadDump ? 1 : 0); - AddStatusCount(ItemStatus.Good, status == ItemStatus.Good ? 1 : 0); - AddStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? 1 : 0); - AddStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); - } - /// /// Add to the statistics for a given File /// @@ -464,18 +365,6 @@ namespace SabreTools.Metadata.DatFiles AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); } - /// - /// Add to the statistics for a given Media - /// - /// Item to add info from - private void AddItemStatistics(Data.Models.Metadata.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); - } - /// /// Add to the statistics for a given Rom /// @@ -507,37 +396,6 @@ namespace SabreTools.Metadata.DatFiles AddStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); } - /// - /// Add to the statistics for a given Rom - /// - /// Item to add info from - private void AddItemStatistics(Data.Models.Metadata.Rom rom) - { - ItemStatus? status = rom.Status; - if (status != ItemStatus.Nodump) - { - TotalSize += rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0; - AddHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); - AddHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); - AddHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); - AddHashCount(HashType.MD2, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)) ? 0 : 1); - AddHashCount(HashType.MD4, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)) ? 0 : 1); - AddHashCount(HashType.MD5, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) ? 0 : 1); - AddHashCount(HashType.RIPEMD128, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)) ? 0 : 1); - AddHashCount(HashType.RIPEMD160, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)) ? 0 : 1); - AddHashCount(HashType.SHA1, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) ? 0 : 1); - AddHashCount(HashType.SHA256, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) ? 0 : 1); - AddHashCount(HashType.SHA384, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) ? 0 : 1); - AddHashCount(HashType.SHA512, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) ? 0 : 1); - AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)) ? 0 : 1); - } - - AddStatusCount(ItemStatus.BadDump, status == ItemStatus.BadDump ? 1 : 0); - AddStatusCount(ItemStatus.Good, status == ItemStatus.Good ? 1 : 0); - AddStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? 1 : 0); - AddStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); - } - /// /// Increment the item count for a given item status /// @@ -611,25 +469,6 @@ namespace SabreTools.Metadata.DatFiles RemoveStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); } - /// - /// Remove from the statistics given a Disk - /// - /// Item to remove info for - private void RemoveItemStatistics(Data.Models.Metadata.Disk disk) - { - ItemStatus? status = disk.Status; - if (status != ItemStatus.Nodump) - { - RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)) ? 0 : 1); - } - - RemoveStatusCount(ItemStatus.BadDump, status == ItemStatus.BadDump ? 1 : 0); - RemoveStatusCount(ItemStatus.Good, status == ItemStatus.Good ? 1 : 0); - RemoveStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? 1 : 0); - RemoveStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); - } - /// /// Remove from the statistics given a File /// @@ -655,18 +494,6 @@ namespace SabreTools.Metadata.DatFiles RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); } - /// - /// Remove from the statistics given a Media - /// - /// Item to remove info for - private void RemoveItemStatistics(Data.Models.Metadata.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); - } - /// /// Remove from the statistics given a Rom /// @@ -698,37 +525,6 @@ namespace SabreTools.Metadata.DatFiles RemoveStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); } - /// - /// Remove from the statistics given a Rom - /// - /// Item to remove info for - private void RemoveItemStatistics(Data.Models.Metadata.Rom rom) - { - ItemStatus? status = rom.Status; - if (status != ItemStatus.Nodump) - { - TotalSize -= rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0; - RemoveHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); - RemoveHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); - RemoveHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); - RemoveHashCount(HashType.MD2, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)) ? 0 : 1); - RemoveHashCount(HashType.MD4, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)) ? 0 : 1); - RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) ? 0 : 1); - RemoveHashCount(HashType.RIPEMD128, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)) ? 0 : 1); - RemoveHashCount(HashType.RIPEMD160, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA384, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA512, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) ? 0 : 1); - RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)) ? 0 : 1); - } - - RemoveStatusCount(ItemStatus.BadDump, status == ItemStatus.BadDump ? 1 : 0); - RemoveStatusCount(ItemStatus.Good, status == ItemStatus.Good ? 1 : 0); - RemoveStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? 1 : 0); - RemoveStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0); - } - /// /// Decrement the item count for a given item status /// diff --git a/SabreTools.Metadata.DatFiles/ItemDictionary.cs b/SabreTools.Metadata.DatFiles/ItemDictionary.cs index 9a22b2e0..76ad7d7c 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionary.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionary.cs @@ -227,7 +227,7 @@ namespace SabreTools.Metadata.DatFiles /// Get the items associated with a bucket name /// /// Name of the bucket to retrive items for - /// Indicates if RemoveKey filtering is performed + /// Indicates if RemoveFlag filtering is performed /// List representing the bucket items, empty on missing public List GetItemsForBucket(string? bucketName, bool filter = false) { @@ -250,7 +250,7 @@ namespace SabreTools.Metadata.DatFiles var datItems = new List(); foreach (DatItem item in items) { - if (item.ReadBool(DatItem.RemoveKey) != true) + if (!item.RemoveFlag) datItems.Add(item); } @@ -601,13 +601,13 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem other in items) { // Skip items marked for removal - if (other.ReadBool(DatItem.RemoveKey) == true) + if (other.RemoveFlag) continue; // Mark duplicates for future removal if (datItem.Equals(other)) { - other.Write(DatItem.RemoveKey, true); + other.RemoveFlag = true; output.Add(other); } } @@ -767,7 +767,7 @@ namespace SabreTools.Metadata.DatFiles for (int i = 0; i < GetItemsForBucket(key).Count; i++) { DatItem item = GetItemsForBucket(key)[i]; - if (item is null || item.ReadBool(DatItem.RemoveKey) == true) + if (item is null || item.RemoveFlag) continue; // Get the machine and source diff --git a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs index 199aac69..b878e02e 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs @@ -332,7 +332,7 @@ namespace SabreTools.Metadata.DatFiles var datItem = _items[itemIndex]; #endif - if (datItem.ReadBool(DatItem.RemoveKey) != true) + if (!datItem.RemoveFlag) continue; RemoveItem(itemIndex); @@ -378,7 +378,7 @@ namespace SabreTools.Metadata.DatFiles continue; #endif - if (!filter || datItem.ReadBool(DatItem.RemoveKey) != true) + if (!filter || !datItem.RemoveFlag) datItems[itemId] = datItem; } @@ -805,13 +805,13 @@ namespace SabreTools.Metadata.DatFiles foreach (var rom in items) { // Skip items marked for removal - if (rom.Value.ReadBool(DatItem.RemoveKey) == true) + if (rom.Value.RemoveFlag) continue; // Mark duplicates for future removal if (datItem.Value.Equals(rom.Value)) { - rom.Value.Write(DatItem.RemoveKey, true); + rom.Value.RemoveFlag = true; output[rom.Key] = rom.Value; } } diff --git a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs index 7f7f282b..577063ba 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs @@ -33,7 +33,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test disk.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); disk.Machine = machine; disk.Write(Disk.PartKey, part); - disk.Write(DatItem.RemoveKey, (bool?)false); + disk.RemoveFlag = false; disk.Source = source; Rom actual = disk.ConvertToRom(); @@ -55,7 +55,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Assert.NotNull(actualMachine); Assert.Equal("name", actualMachine.Name); - Assert.Equal(false, actual.ReadBool(DatItem.RemoveKey)); + Assert.False(actual.RemoveFlag); Part? actualPart = actual.Read(Rom.PartKey); Assert.NotNull(actualPart); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs index ea8e7f85..e36a99ef 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs @@ -28,7 +28,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test }; file.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); file.Machine = machine; - file.Write(DatItem.RemoveKey, (bool?)false); + file.RemoveFlag = false; file.Source = source; file.Machine = machine; file.Source = source; @@ -47,7 +47,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Assert.NotNull(actualMachine); Assert.Equal("name", actualMachine.GetName()); - Assert.Equal(false, actual.ReadBool(DatItem.RemoveKey)); + Assert.False(actual.RemoveFlag); Source? actualSource = actual.Source; Assert.NotNull(actualSource); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs index 9584c5ed..b78b6934 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs @@ -23,7 +23,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test media.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); media.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); media.Machine = machine; - media.Write(DatItem.RemoveKey, (bool?)false); + media.RemoveFlag = false; media.Source = source; Rom actual = media.ConvertToRom(); @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Assert.NotNull(actualMachine); Assert.Equal("name", actualMachine.Name); - Assert.Equal(false, actual.ReadBool(DatItem.RemoveKey)); + Assert.False(actual.RemoveFlag); Source? actualSource = actual.Source; Assert.NotNull(actualSource); diff --git a/SabreTools.Metadata.DatItems/DatItem.cs b/SabreTools.Metadata.DatItems/DatItem.cs index 0cd46be7..09d482ca 100644 --- a/SabreTools.Metadata.DatItems/DatItem.cs +++ b/SabreTools.Metadata.DatItems/DatItem.cs @@ -63,11 +63,6 @@ namespace SabreTools.Metadata.DatItems /// public const string DupeTypeKey = "DUPETYPE"; - /// - /// Flag if item should be removed - /// - public const string RemoveKey = "REMOVE"; - #endregion #region Fields @@ -82,6 +77,11 @@ namespace SabreTools.Metadata.DatItems /// public Machine? Machine { get; set; } + /// + /// Flag if item should be removed + /// + public bool RemoveFlag { get; set; } = false; + /// /// Source information /// diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs index 6b1d9da9..7dc47aff 100644 --- a/SabreTools.Metadata.DatItems/Formats/Disk.cs +++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs @@ -132,7 +132,7 @@ namespace SabreTools.Metadata.DatItems.Formats rom.Write(DupeTypeKey, Read(DupeTypeKey)); rom.Machine = Machine?.Clone() as Machine; rom.Write(Rom.PartKey, Read(PartKey)?.Clone() as Part); - rom.Write(RemoveKey, ReadBool(RemoveKey)); + rom.RemoveFlag = RemoveFlag; rom.Source = Source?.Clone() as Source; return rom; diff --git a/SabreTools.Metadata.DatItems/Formats/File.cs b/SabreTools.Metadata.DatItems/Formats/File.cs index 0d2b3f77..5af2bdc8 100644 --- a/SabreTools.Metadata.DatItems/Formats/File.cs +++ b/SabreTools.Metadata.DatItems/Formats/File.cs @@ -122,7 +122,7 @@ namespace SabreTools.Metadata.DatItems.Formats }; file.Write(DupeTypeKey, Read(DupeTypeKey)); file.Machine = Machine!.Clone() as Machine ?? new Machine(); - file.Write(RemoveKey, ReadBool(RemoveKey)); + file.RemoveFlag = RemoveFlag; file.Source = Source?.Clone() as Source; return file; @@ -145,7 +145,7 @@ namespace SabreTools.Metadata.DatItems.Formats rom.Write(DupeTypeKey, Read(DupeTypeKey)); rom.Machine = Machine?.Clone() as Machine; - rom.Write(RemoveKey, ReadBool(RemoveKey)); + rom.RemoveFlag = RemoveFlag; rom.Source = Source?.Clone() as Source; return rom; diff --git a/SabreTools.Metadata.DatItems/Formats/Media.cs b/SabreTools.Metadata.DatItems/Formats/Media.cs index d2cc9ac3..d8104119 100644 --- a/SabreTools.Metadata.DatItems/Formats/Media.cs +++ b/SabreTools.Metadata.DatItems/Formats/Media.cs @@ -69,7 +69,7 @@ namespace SabreTools.Metadata.DatItems.Formats rom.Write(DupeTypeKey, Read(DupeTypeKey)); rom.Machine = Machine?.Clone() as Machine; - rom.Write(RemoveKey, ReadBool(RemoveKey)); + rom.RemoveFlag = RemoveFlag; rom.Source = Source?.Clone() as Source; return rom;