diff --git a/SabreTools/Features/DatFromDir.cs b/SabreTools/Features/DatFromDir.cs index c185847a..83ae9cc5 100644 --- a/SabreTools/Features/DatFromDir.cs +++ b/SabreTools/Features/DatFromDir.cs @@ -94,10 +94,13 @@ namespace SabreTools.Features if (success) { + // Perform additional processing steps datdata.ApplyExtras(Extras); datdata.ApplySplitting(splitType, false); datdata.ApplyFilter(Filter); datdata.ApplyCleaning(Cleaner); + + // Write out the file datdata.Write(OutputDir); } else diff --git a/SabreTools/Features/Update.cs b/SabreTools/Features/Update.cs index b86c7a71..9162691f 100644 --- a/SabreTools/Features/Update.cs +++ b/SabreTools/Features/Update.cs @@ -166,6 +166,8 @@ namespace SabreTools.Features keepext: datFile.Header.DatFormat.HasFlag(DatFormat.TSV) || datFile.Header.DatFormat.HasFlag(DatFormat.CSV) || datFile.Header.DatFormat.HasFlag(DatFormat.SSV)); + + // Perform additional processing steps datFile.ApplyExtras(Extras); datFile.ApplySplitting(GetSplitType(features), false); datFile.ApplyFilter(Filter); @@ -203,7 +205,7 @@ namespace SabreTools.Features else datHeaders = userInputDat.PopulateUserData(inputPaths); - // Apply the extras, filter, and cleaning + // Perform additional processing steps userInputDat.ApplyExtras(Extras); userInputDat.ApplySplitting(GetSplitType(features), false); userInputDat.ApplyFilter(Filter); @@ -291,9 +293,11 @@ namespace SabreTools.Features // Loop through each input and diff against the base Parallel.ForEach(inputPaths, Globals.ParallelOptions, inputPath => { - // Parse and process the path to a new DatFile + // Parse the path to a new DatFile DatFile repDat = DatFile.Create(userInputDat.Header.CloneFiltering()); repDat.Parse(inputPath, indexId: 1, keep: true); + + // Perform additional processing steps repDat.ApplyExtras(Extras); repDat.ApplySplitting(GetSplitType(features), false); repDat.ApplyFilter(Filter); @@ -314,9 +318,11 @@ namespace SabreTools.Features // Loop through each input and apply the base DatFile Parallel.ForEach(inputPaths, Globals.ParallelOptions, inputPath => { - // Parse and process the path to a new DatFile + // Parse the path to a new DatFile DatFile repDat = DatFile.Create(userInputDat.Header.CloneFiltering()); repDat.Parse(inputPath, indexId: 1, keep: true); + + // Perform additional processing steps repDat.ApplyExtras(Extras); repDat.ApplySplitting(GetSplitType(features), false); repDat.ApplyFilter(Filter); diff --git a/SabreTools/Features/Verify.cs b/SabreTools/Features/Verify.cs index 720b9022..c5880d2a 100644 --- a/SabreTools/Features/Verify.cs +++ b/SabreTools/Features/Verify.cs @@ -55,8 +55,11 @@ namespace SabreTools.Features { foreach (ParentablePath datfile in datfilePaths) { + // Parse in from the file DatFile datdata = DatFile.Create(); datdata.Parse(datfile, 99, keep: true); + + // Perform additional processing steps datdata.ApplyExtras(Extras); datdata.ApplySplitting(splitType, true); datdata.ApplyFilter(Filter); @@ -89,12 +92,14 @@ namespace SabreTools.Features foreach (ParentablePath datfile in datfilePaths) { datdata.Parse(datfile, 99, keep: true); - datdata.ApplyExtras(Extras); - datdata.ApplySplitting(splitType, true); - datdata.ApplyFilter(Filter); - datdata.ApplyCleaning(Cleaner); } + // Perform additional processing steps + datdata.ApplyExtras(Extras); + datdata.ApplySplitting(splitType, true); + datdata.ApplyFilter(Filter); + datdata.ApplyCleaning(Cleaner); + // Set depot information datdata.Header.InputDepot = Header.InputDepot.Clone() as DepotInformation;