From fb2a545813bef5bc74974af6a8e8281ab5df01a0 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 23 Feb 2018 17:08:52 -0800 Subject: [PATCH] [DatFile] Use tempdir checking, misc cleanup --- SabreTools.Library/DatFiles/DatFile.cs | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/SabreTools.Library/DatFiles/DatFile.cs b/SabreTools.Library/DatFiles/DatFile.cs index 1e16819a..9f9dc14c 100644 --- a/SabreTools.Library/DatFiles/DatFile.cs +++ b/SabreTools.Library/DatFiles/DatFile.cs @@ -3452,33 +3452,21 @@ namespace SabreTools.Library.DatFiles } // Clean the temp directory path - tempDir = (String.IsNullOrWhiteSpace(tempDir) ? Path.GetTempPath() : tempDir); + tempDir = Utilities.EnsureTempDirectory(tempDir); // Process the input if (Directory.Exists(basePath)) { Globals.Logger.Verbose("Folder found: {0}", basePath); - // Process the files in the main folder - List files = Directory.EnumerateFiles(basePath, "*", SearchOption.TopDirectoryOnly).ToList(); + // Process the files in the main folder or any subfolder + List files = Directory.EnumerateFiles(basePath, "*", SearchOption.AllDirectories).ToList(); Parallel.ForEach(files, Globals.ParallelOptions, item => { CheckFileForHashes(item, basePath, omitFromScan, bare, archivesAsFiles, skipFileType, addBlanks, addDate, tempDir, copyFiles, headerToCheckAgainst, chdsAsFiles); }); - // Find all top-level subfolders - files = Directory.EnumerateDirectories(basePath, "*", SearchOption.TopDirectoryOnly).ToList(); - foreach (string item in files) - { - List subfiles = Directory.EnumerateFiles(item, "*", SearchOption.AllDirectories).ToList(); - Parallel.ForEach(subfiles, Globals.ParallelOptions, subitem => - { - CheckFileForHashes(subitem, basePath, omitFromScan, bare, archivesAsFiles, skipFileType, - addBlanks, addDate, tempDir, copyFiles, headerToCheckAgainst, chdsAsFiles); - }); - } - // Now find all folders that are empty, if we are supposed to if (!Romba && addBlanks) { @@ -3574,7 +3562,7 @@ namespace SabreTools.Library.DatFiles { // Add the list if it doesn't exist already Rom rom = new Rom(baseFile); - Add(rom.Size + "-" + rom.CRC, rom); + Add(Utilities.GetKeyFromDatItem(rom, SortedBy.CRC), rom); Globals.Logger.User("File added: {0}", Path.GetFileNameWithoutExtension(item) + Environment.NewLine); } else @@ -3615,7 +3603,7 @@ namespace SabreTools.Library.DatFiles } // If the extracted list is null, just scan the item itself - if (extracted == null || archivesAsFiles) + if (extracted == null) { ProcessFile(newItem, "", newBasePath, omitFromScan, addDate, headerToCheckAgainst, chdsAsFiles); }