From dd4a2acba52a7ecc5e581fdeaad1703c1302ea35 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 3 Feb 2021 09:07:29 -0800 Subject: [PATCH] Make remover a little more consistent --- SabreTools.Filtering/Remover.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/SabreTools.Filtering/Remover.cs b/SabreTools.Filtering/Remover.cs index f38ebdeb..d08c6f3d 100644 --- a/SabreTools.Filtering/Remover.cs +++ b/SabreTools.Filtering/Remover.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using SabreTools.Core; @@ -56,8 +57,6 @@ namespace SabreTools.Filtering /// List of field names public void PopulateExclusionsFromList(List fields) { - InternalStopwatch watch = new InternalStopwatch("Populating removals from list"); - // Instantiate the removers, if necessary DatHeaderRemover ??= new DatHeaderRemover(); DatItemRemover ??= new DatItemRemover(); @@ -66,6 +65,8 @@ namespace SabreTools.Filtering if (fields == null || fields.Count == 0) return; + InternalStopwatch watch = new InternalStopwatch("Populating removals from list"); + foreach (string field in fields) { // If we don't even have a possible field name @@ -104,11 +105,11 @@ namespace SabreTools.Filtering InternalStopwatch watch = new InternalStopwatch("Applying removals to DAT"); // Remove DatHeader fields - if (DatHeaderRemover != null) + if (DatHeaderRemover != null && DatHeaderRemover.DatHeaderFields.Any()) DatHeaderRemover.RemoveFields(datFile.Header); // Remove DatItem and Machine fields - if (DatItemRemover != null) + if (DatItemRemover != null && (DatItemRemover.MachineFields.Any() || DatItemRemover.DatItemFields.Any())) { Parallel.ForEach(datFile.Items.Keys, Globals.ParallelOptions, key => {