From 05a44dd954ff6943cbb54269d073ff2a0e4147da Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 10 Dec 2020 15:52:31 -0800 Subject: [PATCH] Move stats display out of DatFile --- SabreTools.DatFiles/DatFile.cs | 19 ------------------- SabreTools.DatFiles/Writer.cs | 17 +++++++++++++++++ SabreTools/Features/Verify.cs | 4 ++-- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index b70e43df..ff8afc6b 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -6,7 +6,6 @@ using System.Xml.Serialization; using SabreTools.Core; using SabreTools.DatFiles.Formats; -using SabreTools.DatFiles.Reports; using SabreTools.DatItems; using SabreTools.IO; using SabreTools.Logging; @@ -301,8 +300,6 @@ namespace SabreTools.DatFiles return key; } - #region Input Sanitization - /// /// Get a sanitized Date from an input string /// @@ -342,26 +339,10 @@ namespace SabreTools.DatFiles return hash; } - #endregion - #endregion #region Writing - /// - /// Write the stats out to console for the current DatFile - /// - public void WriteStatsToConsole() - { - if (Items.RomCount + Items.DiskCount == 0) - Items.RecalculateStats(); - - Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: true); - - var consoleOutput = BaseReport.Create(StatReportFormat.None, null, true, true); - consoleOutput.ReplaceStatistics(Header.FileName, Items.Keys.Count(), Items); - } - /// /// Create and open an output file for writing direct from a dictionary /// diff --git a/SabreTools.DatFiles/Writer.cs b/SabreTools.DatFiles/Writer.cs index 67ea78ce..08ba3dda 100644 --- a/SabreTools.DatFiles/Writer.cs +++ b/SabreTools.DatFiles/Writer.cs @@ -1,8 +1,10 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using SabreTools.Core; +using SabreTools.DatFiles.Reports; using SabreTools.IO; using SabreTools.Logging; @@ -95,6 +97,21 @@ namespace SabreTools.DatFiles return true; } + /// + /// Write the stats out to console for the current DatFile + /// + /// Current DatFile object to write from + public static void WriteStatsToConsole(DatFile datFile) + { + if (datFile.Items.RomCount + datFile.Items.DiskCount == 0) + datFile.Items.RecalculateStats(); + + datFile.Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: true); + + var consoleOutput = BaseReport.Create(StatReportFormat.None, null, true, true); + consoleOutput.ReplaceStatistics(datFile.Header.FileName, datFile.Items.Keys.Count(), datFile.Items); + } + /// /// Ensure that FileName, Name, and Description are filled with some value /// diff --git a/SabreTools/Features/Verify.cs b/SabreTools/Features/Verify.cs index c06d8c60..66fa6d55 100644 --- a/SabreTools/Features/Verify.cs +++ b/SabreTools/Features/Verify.cs @@ -91,7 +91,7 @@ namespace SabreTools.Features } // Now write out if there are any items left - datdata.WriteStatsToConsole(); + Writer.WriteStatsToConsole(datdata); Writer.Write(datdata, OutputDir); } } @@ -140,7 +140,7 @@ namespace SabreTools.Features } // Now write out if there are any items left - datdata.WriteStatsToConsole(); + Writer.WriteStatsToConsole(datdata); Writer.Write(datdata, OutputDir); } }