From 743daecd9183e3802d525603de64e6ac4340e659 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 10 Dec 2020 13:53:34 -0800 Subject: [PATCH] Parsing to actual class --- RombaSharp/Features/BaseFeature.cs | 2 +- RombaSharp/Features/Build.cs | 2 +- RombaSharp/Features/Diffdat.cs | 4 ++-- RombaSharp/Features/EDiffdat.cs | 4 ++-- RombaSharp/Features/Miss.cs | 2 +- SabreTools.DatFiles/DatTool.Updating.cs | 2 +- SabreTools.DatFiles/ItemDictionary.cs | 2 +- .../{DatTool.Parsing.cs => Parser.cs} | 12 +++++++++++- SabreTools/Features/Batch.cs | 2 +- SabreTools/Features/Sort.cs | 4 ++-- SabreTools/Features/Split.cs | 2 +- SabreTools/Features/Update.cs | 6 +++--- SabreTools/Features/Verify.cs | 4 ++-- 13 files changed, 29 insertions(+), 19 deletions(-) rename SabreTools.DatFiles/{DatTool.Parsing.cs => Parser.cs} (97%) diff --git a/RombaSharp/Features/BaseFeature.cs b/RombaSharp/Features/BaseFeature.cs index 5c3e6c58..ba1261ea 100644 --- a/RombaSharp/Features/BaseFeature.cs +++ b/RombaSharp/Features/BaseFeature.cs @@ -705,7 +705,7 @@ CREATE TABLE IF NOT EXISTS dat ( // Parse the Dat if possible logger.User($"Adding from '{dat.Name}'"); - DatFile tempdat = DatTool.CreateAndParse(fullpath); + DatFile tempdat = Parser.CreateAndParse(fullpath); // If the Dat wasn't empty, add the information SqliteCommand slc = null; diff --git a/RombaSharp/Features/Build.cs b/RombaSharp/Features/Build.cs index de040bc4..614f764a 100644 --- a/RombaSharp/Features/Build.cs +++ b/RombaSharp/Features/Build.cs @@ -50,7 +50,7 @@ structure according to the original DAT master directory tree structure."; foreach (string key in foundDats.Keys) { // Get the DAT file associated with the key - DatFile datFile = DatTool.CreateAndParse(Path.Combine(_dats, foundDats[key])); + DatFile datFile = Parser.CreateAndParse(Path.Combine(_dats, foundDats[key])); // Set the depot values datFile.Header.InputDepot = new DepotInformation(true, 4); diff --git a/RombaSharp/Features/Diffdat.cs b/RombaSharp/Features/Diffdat.cs index 24ada330..dd8512ea 100644 --- a/RombaSharp/Features/Diffdat.cs +++ b/RombaSharp/Features/Diffdat.cs @@ -59,10 +59,10 @@ in -old DAT file. Ignores those entries in -old that are not in -new."; DatFile datfile = DatFile.Create(); datfile.Header.Name = name; datfile.Header.Description = description; - DatTool.ParseInto(datfile, olddat); + Parser.ParseInto(datfile, olddat); // Diff against the new datfile - DatFile intDat = DatTool.CreateAndParse(newdat); + DatFile intDat = Parser.CreateAndParse(newdat); DatTool.DiffAgainst(datfile, intDat, false); DatTool.Write(intDat, outdat); } diff --git a/RombaSharp/Features/EDiffdat.cs b/RombaSharp/Features/EDiffdat.cs index b476a182..1fa14284 100644 --- a/RombaSharp/Features/EDiffdat.cs +++ b/RombaSharp/Features/EDiffdat.cs @@ -51,10 +51,10 @@ namespace RombaSharp.Features } // Create the encapsulating datfile - DatFile datfile = DatTool.CreateAndParse(olddat); + DatFile datfile = Parser.CreateAndParse(olddat); // Diff against the new datfile - DatFile intDat = DatTool.CreateAndParse(newdat); + DatFile intDat = Parser.CreateAndParse(newdat); DatTool.DiffAgainst(datfile, intDat, false); DatTool.Write(intDat, outdat); } diff --git a/RombaSharp/Features/Miss.cs b/RombaSharp/Features/Miss.cs index 3591dc9d..13991e95 100644 --- a/RombaSharp/Features/Miss.cs +++ b/RombaSharp/Features/Miss.cs @@ -37,7 +37,7 @@ namespace RombaSharp.Features foreach (string key in foundDats.Keys) { // Get the DAT file associated with the key - DatFile datFile = DatTool.CreateAndParse(Path.Combine(_dats, foundDats[key])); + DatFile datFile = Parser.CreateAndParse(Path.Combine(_dats, foundDats[key])); // Now loop through and see if all of the hash combinations exist in the database /* ended here */ diff --git a/SabreTools.DatFiles/DatTool.Updating.cs b/SabreTools.DatFiles/DatTool.Updating.cs index 7c666949..ddab8090 100644 --- a/SabreTools.DatFiles/DatTool.Updating.cs +++ b/SabreTools.DatFiles/DatTool.Updating.cs @@ -450,7 +450,7 @@ namespace SabreTools.DatFiles var input = inputs[i]; logger.User($"Adding DAT: {input.CurrentPath}"); datFiles[i] = DatFile.Create(datFile.Header.CloneFiltering()); - ParseInto(datFiles[i], input, i, keep: true); + Parser.ParseInto(datFiles[i], input, i, keep: true); }); watch.Stop(); diff --git a/SabreTools.DatFiles/ItemDictionary.cs b/SabreTools.DatFiles/ItemDictionary.cs index e880fbdf..adfae42d 100644 --- a/SabreTools.DatFiles/ItemDictionary.cs +++ b/SabreTools.DatFiles/ItemDictionary.cs @@ -1425,7 +1425,7 @@ namespace SabreTools.DatFiles staticLogger.Verbose($"Beginning stat collection for '{file.CurrentPath}'"); List games = new List(); - DatFile datdata = DatTool.CreateAndParse(file.CurrentPath); + DatFile datdata = Parser.CreateAndParse(file.CurrentPath); datdata.Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: true); // Output single DAT stats (if asked) diff --git a/SabreTools.DatFiles/DatTool.Parsing.cs b/SabreTools.DatFiles/Parser.cs similarity index 97% rename from SabreTools.DatFiles/DatTool.Parsing.cs rename to SabreTools.DatFiles/Parser.cs index dab148f5..016bb23d 100644 --- a/SabreTools.DatFiles/DatTool.Parsing.cs +++ b/SabreTools.DatFiles/Parser.cs @@ -4,12 +4,22 @@ using System.Text.RegularExpressions; using SabreTools.Core; using SabreTools.IO; +using SabreTools.Logging; // This file represents all methods related to parsing from a file namespace SabreTools.DatFiles { - public partial class DatTool + public class Parser { + #region Logging + + /// + /// Logging object + /// + private static readonly Logger logger = new Logger(); + + #endregion + /// /// Create a DatFile and parse a file into it /// diff --git a/SabreTools/Features/Batch.cs b/SabreTools/Features/Batch.cs index 27a8ca80..5b43a2f1 100644 --- a/SabreTools/Features/Batch.cs +++ b/SabreTools/Features/Batch.cs @@ -133,7 +133,7 @@ Reset the internal state: reset();"; // Assume there could be multiple foreach (ParentablePath datFilePath in datFilePaths) { - DatTool.ParseInto(datFile, datFilePath, index++); + Parser.ParseInto(datFile, datFilePath, index++); } break; diff --git a/SabreTools/Features/Sort.cs b/SabreTools/Features/Sort.cs index fd8e59b9..acd28a5d 100644 --- a/SabreTools/Features/Sort.cs +++ b/SabreTools/Features/Sort.cs @@ -90,7 +90,7 @@ namespace SabreTools.Features foreach (ParentablePath datfile in datfilePaths) { DatFile datdata = DatFile.Create(); - DatTool.ParseInto(datdata, datfile, int.MaxValue, keep: true); + Parser.ParseInto(datdata, datfile, int.MaxValue, keep: true); // Set depot information datdata.Header.InputDepot = Header.InputDepot.Clone() as DepotInformation; @@ -128,7 +128,7 @@ namespace SabreTools.Features DatFile datdata = DatFile.Create(); foreach (ParentablePath datfile in datfilePaths) { - DatTool.ParseInto(datdata, datfile, int.MaxValue, keep: true); + Parser.ParseInto(datdata, datfile, int.MaxValue, keep: true); } // Set depot information diff --git a/SabreTools/Features/Split.cs b/SabreTools/Features/Split.cs index a917850a..05f89656 100644 --- a/SabreTools/Features/Split.cs +++ b/SabreTools/Features/Split.cs @@ -55,7 +55,7 @@ namespace SabreTools.Features { // Create and fill the new DAT DatFile internalDat = DatFile.Create(Header); - DatTool.ParseInto(internalDat, file); + Parser.ParseInto(internalDat, file); // Get the output directory OutputDir = file.GetOutputPath(OutputDir, GetBoolean(features, InplaceValue)); diff --git a/SabreTools/Features/Update.cs b/SabreTools/Features/Update.cs index 844b3e87..4e8e6943 100644 --- a/SabreTools/Features/Update.cs +++ b/SabreTools/Features/Update.cs @@ -161,7 +161,7 @@ namespace SabreTools.Features // Create a new base DatFile DatFile datFile = DatFile.Create(Header); logger.User($"Processing '{Path.GetFileName(inputPath.CurrentPath)}'"); - DatTool.ParseInto(datFile, inputPath, keep: true, + Parser.ParseInto(datFile, inputPath, keep: true, keepext: datFile.Header.DatFormat.HasFlag(DatFormat.TSV) || datFile.Header.DatFormat.HasFlag(DatFormat.CSV) || datFile.Header.DatFormat.HasFlag(DatFormat.SSV)); @@ -294,7 +294,7 @@ namespace SabreTools.Features { // Parse the path to a new DatFile DatFile repDat = DatFile.Create(userInputDat.Header.CloneFiltering()); - DatTool.ParseInto(repDat, inputPath, indexId: 1, keep: true); + Parser.ParseInto(repDat, inputPath, indexId: 1, keep: true); // Perform additional processing steps DatTool.ApplyExtras(repDat, Extras); @@ -319,7 +319,7 @@ namespace SabreTools.Features { // Parse the path to a new DatFile DatFile repDat = DatFile.Create(userInputDat.Header.CloneFiltering()); - DatTool.ParseInto(repDat, inputPath, indexId: 1, keep: true); + Parser.ParseInto(repDat, inputPath, indexId: 1, keep: true); // Perform additional processing steps DatTool.ApplyExtras(repDat, Extras); diff --git a/SabreTools/Features/Verify.cs b/SabreTools/Features/Verify.cs index 1ccd52a4..3012c8c2 100644 --- a/SabreTools/Features/Verify.cs +++ b/SabreTools/Features/Verify.cs @@ -58,7 +58,7 @@ namespace SabreTools.Features { // Parse in from the file DatFile datdata = DatFile.Create(); - DatTool.ParseInto(datdata, datfile, int.MaxValue, keep: true); + Parser.ParseInto(datdata, datfile, int.MaxValue, keep: true); // Perform additional processing steps DatTool.ApplyExtras(datdata, Extras); @@ -104,7 +104,7 @@ namespace SabreTools.Features DatFile datdata = DatFile.Create(); foreach (ParentablePath datfile in datfilePaths) { - DatTool.ParseInto(datdata, datfile, int.MaxValue, keep: true); + Parser.ParseInto(datdata, datfile, int.MaxValue, keep: true); } // Perform additional processing steps