Make remover a little more consistent

This commit is contained in:
Matt Nadareski
2021-02-03 09:07:29 -08:00
parent 56d0d676f6
commit dd4a2acba5

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using SabreTools.Core; using SabreTools.Core;
@@ -56,8 +57,6 @@ namespace SabreTools.Filtering
/// <param name="fields">List of field names</param> /// <param name="fields">List of field names</param>
public void PopulateExclusionsFromList(List<string> fields) public void PopulateExclusionsFromList(List<string> fields)
{ {
InternalStopwatch watch = new InternalStopwatch("Populating removals from list");
// Instantiate the removers, if necessary // Instantiate the removers, if necessary
DatHeaderRemover ??= new DatHeaderRemover(); DatHeaderRemover ??= new DatHeaderRemover();
DatItemRemover ??= new DatItemRemover(); DatItemRemover ??= new DatItemRemover();
@@ -66,6 +65,8 @@ namespace SabreTools.Filtering
if (fields == null || fields.Count == 0) if (fields == null || fields.Count == 0)
return; return;
InternalStopwatch watch = new InternalStopwatch("Populating removals from list");
foreach (string field in fields) foreach (string field in fields)
{ {
// If we don't even have a possible field name // 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"); InternalStopwatch watch = new InternalStopwatch("Applying removals to DAT");
// Remove DatHeader fields // Remove DatHeader fields
if (DatHeaderRemover != null) if (DatHeaderRemover != null && DatHeaderRemover.DatHeaderFields.Any())
DatHeaderRemover.RemoveFields(datFile.Header); DatHeaderRemover.RemoveFields(datFile.Header);
// Remove DatItem and Machine fields // 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 => Parallel.ForEach(datFile.Items.Keys, Globals.ParallelOptions, key =>
{ {