From 208f4f64a9dad09aef4499aebcfecce4c7842a7a Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 13 Jan 2025 00:02:56 -0500 Subject: [PATCH] Fix strip scene dates in DB variant --- SabreTools.DatFiles/ItemDictionary.cs | 2 +- SabreTools.DatFiles/ItemDictionaryDB.cs | 33 ++++++++----------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/SabreTools.DatFiles/ItemDictionary.cs b/SabreTools.DatFiles/ItemDictionary.cs index cdfe0c08..357b8b8a 100644 --- a/SabreTools.DatFiles/ItemDictionary.cs +++ b/SabreTools.DatFiles/ItemDictionary.cs @@ -1023,7 +1023,7 @@ namespace SabreTools.DatFiles internal void StripSceneDatesFromItems() { // Set the regex pattern to use - string pattern = @"([0-9]{2}\.[0-9]{2}\.[0-9]{2}-)(.*?-.*?)"; + const string pattern = @"([0-9]{2}\.[0-9]{2}\.[0-9]{2}-)(.*?-.*?)"; // Now process all of the roms #if NET452_OR_GREATER || NETCOREAPP diff --git a/SabreTools.DatFiles/ItemDictionaryDB.cs b/SabreTools.DatFiles/ItemDictionaryDB.cs index de69c4ba..4e8977d2 100644 --- a/SabreTools.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.DatFiles/ItemDictionaryDB.cs @@ -1398,42 +1398,29 @@ namespace SabreTools.DatFiles internal void StripSceneDatesFromItems() { // Set the regex pattern to use - string pattern = @"([0-9]{2}\.[0-9]{2}\.[0-9]{2}-)(.*?-.*?)"; + const string pattern = @"([0-9]{2}\.[0-9]{2}\.[0-9]{2}-)(.*?-.*?)"; - // Now process all of the roms + // Now process all of the machines #if NET452_OR_GREATER || NETCOREAPP - Parallel.ForEach(SortedKeys, Core.Globals.ParallelOptions, key => + Parallel.ForEach(GetMachines(), Core.Globals.ParallelOptions, machine => #elif NET40_OR_GREATER - Parallel.ForEach(SortedKeys, key => + Parallel.ForEach(GetMachines(), machine => #else - foreach (var key in SortedKeys) + foreach (var machine in GetMachines()) #endif { - var items = GetItemsForBucket(key); - if (items == null) + if (machine.Value == null) #if NET40_OR_GREATER || NETCOREAPP return; #else continue; #endif - List itemIds = []; - foreach (var item in items) - { - var machine = GetMachineForItem(item.Key); - if (machine.Value == null) - continue; + if (Regex.IsMatch(machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)!, pattern)) + machine.Value.SetFieldValue(Models.Metadata.Machine.NameKey, Regex.Replace(machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)!, pattern, "$2")); - if (Regex.IsMatch(machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)!, pattern)) - machine.Value.SetFieldValue(Models.Metadata.Machine.NameKey, Regex.Replace(machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)!, pattern, "$2")); - - if (Regex.IsMatch(machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)!, pattern)) - machine.Value.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Regex.Replace(machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)!, pattern, "$2")); - - itemIds.Add(item.Key); - } - - _buckets[key] = itemIds; + if (Regex.IsMatch(machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)!, pattern)) + machine.Value.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Regex.Replace(machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)!, pattern, "$2")); #if NET40_OR_GREATER || NETCOREAPP }); #else