From 4c16ce4a2d345532a5b33899575d5d042e7912a5 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 12 Jul 2016 10:42:29 -0700 Subject: [PATCH] [Logger] Logging cleanup across the board --- SabreTools.Helper/Data/Structs.cs | 23 ++++++++++++++++++----- SabreTools.Helper/Tools/ArchiveTools.cs | 8 ++++---- SabreTools.Helper/Tools/RomTools.cs | 21 +++++++++++++++------ SabreTools.Helper/Tools/Stats.cs | 2 +- SimpleSort/SimpleSort.cs | 6 +++--- 5 files changed, 41 insertions(+), 19 deletions(-) diff --git a/SabreTools.Helper/Data/Structs.cs b/SabreTools.Helper/Data/Structs.cs index 09871e7b..5a37de28 100644 --- a/SabreTools.Helper/Data/Structs.cs +++ b/SabreTools.Helper/Data/Structs.cs @@ -22,6 +22,11 @@ namespace SabreTools.Helper public int CompareTo(object obj) { + Logger temp = new Logger(false, ""); + temp.Start(); + + int ret = 0; + try { Rom comp = (Rom)obj; @@ -30,23 +35,31 @@ namespace SabreTools.Helper { if (this.Name == comp.Name) { - return (RomTools.IsDuplicate(this, comp) ? 0 : 1); + ret = (RomTools.IsDuplicate(this, comp, temp) ? 0 : 1); } - return String.Compare(this.Name, comp.Name); + ret = String.Compare(this.Name, comp.Name); } - return String.Compare(this.Game, comp.Game); + ret = String.Compare(this.Game, comp.Game); } catch { - return 1; + ret = 1; } + + temp.Close(); + return ret; } public bool Equals(Rom other) { + Logger temp = new Logger(false, ""); + temp.Start(); + bool isdupe = RomTools.IsDuplicate(this, other, temp); + temp.Close(); + return (this.Game == other.Game && this.Name == other.Name && - RomTools.IsDuplicate(this, other)); + isdupe); } } diff --git a/SabreTools.Helper/Tools/ArchiveTools.cs b/SabreTools.Helper/Tools/ArchiveTools.cs index 65fef58e..e4bf3d63 100644 --- a/SabreTools.Helper/Tools/ArchiveTools.cs +++ b/SabreTools.Helper/Tools/ArchiveTools.cs @@ -102,7 +102,7 @@ namespace SabreTools.Helper archive.SaveTo(archiveFileName + ".tmp", CompressionType.Deflate); } - catch (Exception ex) + catch (Exception) { // Don't log archive write errors } @@ -412,7 +412,7 @@ namespace SabreTools.Helper archive.SaveTo(outputArchive + ".tmp", CompressionType.Deflate); } - catch (Exception ex) + catch (Exception) { // Don't log archive write errors } @@ -542,8 +542,8 @@ namespace SabreTools.Helper string gzsize = BitConverter.ToString(footer.Reverse().ToArray()).Replace("-", string.Empty); long extractedsize = Convert.ToInt64(gzsize, 16); - // Only try to add if the file size is greater than 750 MiB - if (filesize >= (750 * Constants.MibiByte)) + // Only try to add if the file size is greater than 600 MiB + if (filesize >= (600 * Constants.MibiByte)) { // ISIZE is mod 4GiB, so we add that if the ISIZE is smaller than the filesize and greater than 1% different bool shouldfollowup = false; diff --git a/SabreTools.Helper/Tools/RomTools.cs b/SabreTools.Helper/Tools/RomTools.cs index e1c71a4e..ed7c8913 100644 --- a/SabreTools.Helper/Tools/RomTools.cs +++ b/SabreTools.Helper/Tools/RomTools.cs @@ -126,7 +126,7 @@ namespace SabreTools.Helper Rom lastrom = outroms[i]; // Get the duplicate status - dupetype = GetDuplicateStatus(rom, lastrom); + dupetype = GetDuplicateStatus(rom, lastrom, logger); // If it's a duplicate, skip adding it to the output but add any missing information if (dupetype != DupeType.None) @@ -188,9 +188,10 @@ namespace SabreTools.Helper /// /// Rom to use as a base /// DAT to match against + /// Logger object for console and/or file output /// True to remove matched roms from the input, false otherwise (default) /// List of matched RomData objects - public static List GetDuplicates(Rom lastrom, Dat datdata, bool remove = false) + public static List GetDuplicates(Rom lastrom, Dat datdata, Logger logger, bool remove = false) { List output = new List(); @@ -208,7 +209,7 @@ namespace SabreTools.Helper List left = new List(); foreach (Rom rom in roms) { - if (IsDuplicate(rom, lastrom)) + if (IsDuplicate(rom, lastrom, logger)) { output.Add(rom); } @@ -233,8 +234,9 @@ namespace SabreTools.Helper /// /// Rom to check for duplicate status /// Rom to use as a baseline + /// Logger object for console and/or file output /// True if the roms are duplicates, false otherwise - public static bool IsDuplicate(Rom rom, Rom lastrom) + public static bool IsDuplicate(Rom rom, Rom lastrom, Logger logger) { bool dupefound = false; @@ -259,6 +261,12 @@ namespace SabreTools.Helper ); } + // More wonderful SHA-1 logging that has to be done + if (rom.SHA1 == lastrom.SHA1 && rom.Size != lastrom.Size) + { + logger.User("SHA-1 mismatch - Hash: " + rom.SHA1); + } + return dupefound; } @@ -267,13 +275,14 @@ namespace SabreTools.Helper /// /// Current rom to check /// Last rom to check against + /// Logger object for console and/or file output /// The DupeType corresponding to the relationship between the two - public static DupeType GetDuplicateStatus(Rom rom, Rom lastrom) + public static DupeType GetDuplicateStatus(Rom rom, Rom lastrom, Logger logger) { DupeType output = DupeType.None; // If we don't have a duplicate at all, return none - if (!IsDuplicate(rom, lastrom)) + if (!IsDuplicate(rom, lastrom, logger)) { return output; } diff --git a/SabreTools.Helper/Tools/Stats.cs b/SabreTools.Helper/Tools/Stats.cs index 831bad21..863e6db7 100644 --- a/SabreTools.Helper/Tools/Stats.cs +++ b/SabreTools.Helper/Tools/Stats.cs @@ -45,7 +45,7 @@ namespace SabreTools.Helper /// Now process each of the input files foreach (string filename in _inputs) { - _logger.User("Beginning stat collection for '" + filename + "'"); + _logger.Log("Beginning stat collection for '" + filename + "'"); List games = new List(); Dat datdata = new Dat(); datdata = DatTools.Parse(filename, 0, 0, datdata, _logger); diff --git a/SimpleSort/SimpleSort.cs b/SimpleSort/SimpleSort.cs index fbe9013a..77d91500 100644 --- a/SimpleSort/SimpleSort.cs +++ b/SimpleSort/SimpleSort.cs @@ -407,7 +407,7 @@ namespace SabreTools } // Try to find the matches to the file that was found - List foundroms = RomTools.GetDuplicates(rom, _datdata, true); + List foundroms = RomTools.GetDuplicates(rom, _datdata, _logger, true); _logger.Log("File '" + input + "' had " + foundroms.Count + " matches in the DAT!"); foreach (Rom found in foundroms) { @@ -466,7 +466,7 @@ namespace SabreTools } // Try to find the matches to the file that was found - List founddroms = RomTools.GetDuplicates(drom, _datdata, true); + List founddroms = RomTools.GetDuplicates(drom, _datdata, _logger, true); _logger.Log("File '" + newinput + "' had " + founddroms.Count + " matches in the DAT!"); foreach (Rom found in founddroms) { @@ -575,7 +575,7 @@ namespace SabreTools foreach (Rom rom in internalRomData) { // Try to find the matches to the file that was found - List foundroms = RomTools.GetDuplicates(rom, _datdata, true); + List foundroms = RomTools.GetDuplicates(rom, _datdata, _logger, true); _logger.Log("File '" + rom.Name + "' had " + foundroms.Count + " matches in the DAT!"); foreach (Rom found in foundroms) {