From ffc78b076a888241dec84b744d85dc7786173bbe Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 10 Jun 2016 02:00:40 -0700 Subject: [PATCH] [Output, Stats] Output DAT statistics on DAT write --- DATabase/DATabase.csproj | 1 - SabreHelper/Output.cs | 3 ++ SabreHelper/SabreHelper.csproj | 1 + {DATabase => SabreHelper}/Stats.cs | 54 +++++++++++++++++++----------- 4 files changed, 38 insertions(+), 21 deletions(-) rename {DATabase => SabreHelper}/Stats.cs (73%) diff --git a/DATabase/DATabase.csproj b/DATabase/DATabase.csproj index 7205a280..9377fe89 100644 --- a/DATabase/DATabase.csproj +++ b/DATabase/DATabase.csproj @@ -116,7 +116,6 @@ - diff --git a/SabreHelper/Output.cs b/SabreHelper/Output.cs index e72a754d..c35f9d14 100644 --- a/SabreHelper/Output.cs +++ b/SabreHelper/Output.cs @@ -24,6 +24,9 @@ namespace SabreTools.Helper /// public static bool WriteDatfile(DatData datdata, string outDir, Logger logger, bool norename = true) { + // Output initial statistics, for kicks + Stats.OutputStats(datdata, logger); + // Bucket roms by game name and optionally dedupe SortedDictionary> sortable = RomManipulation.BucketByGame(datdata.Roms, datdata.MergeRoms, norename, logger); diff --git a/SabreHelper/SabreHelper.csproj b/SabreHelper/SabreHelper.csproj index b1fd5936..d83695ae 100644 --- a/SabreHelper/SabreHelper.csproj +++ b/SabreHelper/SabreHelper.csproj @@ -102,6 +102,7 @@ + diff --git a/DATabase/Stats.cs b/SabreHelper/Stats.cs similarity index 73% rename from DATabase/Stats.cs rename to SabreHelper/Stats.cs index c5c76634..8eb0a432 100644 --- a/DATabase/Stats.cs +++ b/SabreHelper/Stats.cs @@ -57,16 +57,8 @@ namespace SabreTools if (_single) { _logger.User(@"\nFor file '" + filename + @"': --------------------------------------------------- - Uncompressed size: " + Style.GetBytesReadable(datdata.TotalSize) + @" - Games found: " + newroms.Count + @" - Roms found: " + datdata.RomCount + @" - Disks found: " + datdata.DiskCount + @" - Roms with CRC: " + datdata.CRCCount + @" - Roms with MD5: " + datdata.MD5Count + @" - Roms with SHA-1: " + datdata.SHA1Count + @" - Roms with Nodump status: " + datdata.NodumpCount + @" -"); +--------------------------------------------------"); + OutputStats(datdata, _logger); } else { @@ -86,20 +78,42 @@ namespace SabreTools // Output total DAT stats if (!_single) { _logger.User(""); } + DatData totaldata = new DatData + { + TotalSize = totalSize, + RomCount = totalRom, + DiskCount = totalDisk, + CRCCount = totalCRC, + MD5Count = totalMD5, + SHA1Count = totalSHA1, + NodumpCount = totalNodump, + }; _logger.User(@"For ALL DATs found --------------------------------------------------- - Uncompressed size: " + Style.GetBytesReadable(totalSize) + @" - Games found: " + totalGame + @" - Roms found: " + totalRom + @" - Disks found: " + totalDisk + @" - Roms with CRC: " + totalCRC + @" - Roms with MD5: " + totalMD5 + @" - Roms with SHA-1: " + totalSHA1 + @" - Roms with Nodump status: " + totalNodump + @" - +--------------------------------------------------"); + OutputStats(totaldata, _logger); + _logger.User(@" Please check the log folder if the stats scrolled offscreen"); return true; } + + /// + /// Output the stats in a human-readable format + /// + /// DatData object to read stats from + /// Logger object for file and console writing + public static void OutputStats(DatData datdata, Logger logger) + { + SortedDictionary> newroms = RomManipulation.BucketByGame(datdata.Roms, false, true, logger); + logger.User(@" Uncompressed size: " + Style.GetBytesReadable(datdata.TotalSize) + @" + Games found: " + newroms.Count + @" + Roms found: " + datdata.RomCount + @" + Disks found: " + datdata.DiskCount + @" + Roms with CRC: " + datdata.CRCCount + @" + Roms with MD5: " + datdata.MD5Count + @" + Roms with SHA-1: " + datdata.SHA1Count + @" + Roms with Nodump status: " + datdata.NodumpCount + @" +");) + } } }