diff --git a/RombaSharp/Partials/RombaSharp_Helpers.cs b/RombaSharp/Partials/RombaSharp_Helpers.cs index e26da279..583734c0 100644 --- a/RombaSharp/Partials/RombaSharp_Helpers.cs +++ b/RombaSharp/Partials/RombaSharp_Helpers.cs @@ -294,7 +294,7 @@ namespace SabreTools // Make sure the file exists if (!File.Exists(_db)) { - DBTools.EnsureDatabase(_dbSchema, _db, _connectionString); + DatabaseTools.EnsureDatabase(_dbSchema, _db, _connectionString); } // Make sure the dats dir is set diff --git a/RombaSharp/RombaSharp.cs b/RombaSharp/RombaSharp.cs index 6899a928..4e70e3c6 100644 --- a/RombaSharp/RombaSharp.cs +++ b/RombaSharp/RombaSharp.cs @@ -43,7 +43,7 @@ namespace SabreTools // Perform initial setup and verification _logger = new Logger(true, "romba.log"); InitializeConfiguration(); - DBTools.EnsureDatabase(_dbSchema, _db, _connectionString); + DatabaseTools.EnsureDatabase(_dbSchema, _db, _connectionString); // If output is being redirected, don't allow clear screens if (!Console.IsOutputRedirected) diff --git a/SabreTools.Helper/SabreTools.Helper.csproj b/SabreTools.Helper/SabreTools.Helper.csproj index 393456fe..78743a54 100644 --- a/SabreTools.Helper/SabreTools.Helper.csproj +++ b/SabreTools.Helper/SabreTools.Helper.csproj @@ -134,7 +134,7 @@ - + diff --git a/SabreTools.Helper/Tools/ArchiveTools.cs b/SabreTools.Helper/Tools/ArchiveTools.cs index 5084f081..1e64bc78 100644 --- a/SabreTools.Helper/Tools/ArchiveTools.cs +++ b/SabreTools.Helper/Tools/ArchiveTools.cs @@ -33,7 +33,7 @@ namespace SabreTools.Helper #endregion - #region Archive Extraction + #region Extraction /// /// Attempt to extract a file as an archive @@ -234,7 +234,7 @@ namespace SabreTools.Helper #endregion - #region Archive Information + #region Information /// /// Generate a list of RomData objects from the header values in an archive @@ -526,7 +526,7 @@ namespace SabreTools.Helper #endregion - #region Archive Writing + #region Writing /// /// Copy a file to an output archive diff --git a/SabreTools.Helper/Tools/DBTools.cs b/SabreTools.Helper/Tools/DatabaseTools.cs similarity index 56% rename from SabreTools.Helper/Tools/DBTools.cs rename to SabreTools.Helper/Tools/DatabaseTools.cs index 9cde13d1..754cd93a 100644 --- a/SabreTools.Helper/Tools/DBTools.cs +++ b/SabreTools.Helper/Tools/DatabaseTools.cs @@ -7,8 +7,44 @@ namespace SabreTools.Helper /// /// All general database operations /// - public class DBTools + public class DatabaseTools { + /// + /// Add a header to the database + /// + /// String representing the header bytes + /// SHA-1 of the deheadered file + /// HeaderType representing the detected header + /// Logger object for console and file output + public static void AddHeaderToDatabase(string header, string SHA1, HeaderType type, Logger logger) + { + bool exists = false; + + // Open the database connection + SqliteConnection dbc = new SqliteConnection(Constants.HeadererConnectionString); + dbc.Open(); + + string query = @"SELECT * FROM data WHERE sha1='" + SHA1 + "' AND header='" + header + "'"; + SqliteCommand slc = new SqliteCommand(query, dbc); + SqliteDataReader sldr = slc.ExecuteReader(); + exists = sldr.HasRows; + + if (!exists) + { + query = @"INSERT INTO data (sha1, header, type) VALUES ('" + + SHA1 + "', " + + "'" + header + "', " + + "'" + type.ToString() + "')"; + slc = new SqliteCommand(query, dbc); + logger.Log("Result of inserting header: " + slc.ExecuteNonQuery()); + } + + // Dispose of database objects + slc.Dispose(); + sldr.Dispose(); + dbc.Dispose(); + } + /// /// Ensure that the databse exists and has the proper schema /// diff --git a/SabreTools.Helper/Tools/FileTools.cs b/SabreTools.Helper/Tools/FileTools.cs index 826255a0..aee7f2b0 100644 --- a/SabreTools.Helper/Tools/FileTools.cs +++ b/SabreTools.Helper/Tools/FileTools.cs @@ -251,48 +251,12 @@ namespace SabreTools.Helper // Now add the information to the database if it's not already there Rom rom = GetSingleFileInfo(newfile); - AddHeaderToDatabase(hstr, rom.SHA1, type, logger); + DatabaseTools.AddHeaderToDatabase(hstr, rom.SHA1, type, logger); } return true; } - /// - /// Add a header to the database - /// - /// String representing the header bytes - /// SHA-1 of the deheadered file - /// HeaderType representing the detected header - /// Logger object for console and file output - private static void AddHeaderToDatabase(string header, string SHA1, HeaderType type, Logger logger) - { - bool exists = false; - - // Open the database connection - SqliteConnection dbc = new SqliteConnection(Constants.HeadererConnectionString); - dbc.Open(); - - string query = @"SELECT * FROM data WHERE sha1='" + SHA1 + "' AND header='" + header + "'"; - SqliteCommand slc = new SqliteCommand(query, dbc); - SqliteDataReader sldr = slc.ExecuteReader(); - exists = sldr.HasRows; - - if (!exists) - { - query = @"INSERT INTO data (sha1, header, type) VALUES ('" + - SHA1 + "', " + - "'" + header + "', " + - "'" + type.ToString() + "')"; - slc = new SqliteCommand(query, dbc); - logger.Log("Result of inserting header: " + slc.ExecuteNonQuery()); - } - - // Dispose of database objects - slc.Dispose(); - sldr.Dispose(); - dbc.Dispose(); - } - /// /// Detect and replace header(s) to the given file /// diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index 7c786184..365c9c66 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -28,7 +28,7 @@ namespace SabreTools Console.Clear(); } Build.Start("SabreTools"); - DBTools.EnsureDatabase(Constants.HeadererDbSchema, Constants.HeadererFileName, Constants.HeadererConnectionString); + DatabaseTools.EnsureDatabase(Constants.HeadererDbSchema, Constants.HeadererFileName, Constants.HeadererConnectionString); // Credits take precidence over all if ((new List(args)).Contains("--credits"))