mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Reduce unnecessary library calls
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Microsoft.Data.Sqlite;
|
using Microsoft.Data.Sqlite;
|
||||||
using SabreTools.Core;
|
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
using SabreTools.IO;
|
using SabreTools.IO;
|
||||||
@@ -61,24 +60,6 @@ namespace Headerer.Features
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Int32 features
|
|
||||||
|
|
||||||
internal const string ThreadsInt32Value = "threads";
|
|
||||||
internal static Feature ThreadsInt32Input
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return new Feature(
|
|
||||||
ThreadsInt32Value,
|
|
||||||
new List<string>() { "-mt", "--threads" },
|
|
||||||
"Amount of threads to use (default = # cores)",
|
|
||||||
ParameterType.Int32,
|
|
||||||
longDescription: "Optionally, set the number of threads to use for the multithreaded operations. The default is the number of available machine threads; -1 means unlimited threads created.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region String features
|
#region String features
|
||||||
|
|
||||||
internal const string LogLevelStringValue = "log-level";
|
internal const string LogLevelStringValue = "log-level";
|
||||||
@@ -142,22 +123,15 @@ Possible values are: Verbose, User, Warning, Error");
|
|||||||
{
|
{
|
||||||
AddFeature(ScriptFlag);
|
AddFeature(ScriptFlag);
|
||||||
AddFeature(LogLevelStringInput);
|
AddFeature(LogLevelStringInput);
|
||||||
AddFeature(ThreadsInt32Input);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public override bool ProcessFeatures(Dictionary<string, Feature?> features)
|
public override bool ProcessFeatures(Dictionary<string, Feature?> features)
|
||||||
{
|
{
|
||||||
// Generic feature flags
|
|
||||||
LogLevel = GetString(features, LogLevelStringValue).AsLogLevel();
|
LogLevel = GetString(features, LogLevelStringValue).AsLogLevel();
|
||||||
OutputDir = GetString(features, OutputDirStringValue)?.Trim('"');
|
OutputDir = GetString(features, OutputDirStringValue)?.Trim('"');
|
||||||
ScriptMode = GetBoolean(features, ScriptValue);
|
ScriptMode = GetBoolean(features, ScriptValue);
|
||||||
|
|
||||||
// Set threading flag, if necessary
|
|
||||||
if (features.ContainsKey(ThreadsInt32Value))
|
|
||||||
Globals.MaxThreads = GetInt32(features, ThreadsInt32Value);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.Data.Sqlite;
|
using Microsoft.Data.Sqlite;
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.FileTypes;
|
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
using SabreTools.IO;
|
using SabreTools.IO;
|
||||||
@@ -110,8 +109,8 @@ The following systems have headers that this program can work with:
|
|||||||
// Now add the information to the database if it's not already there
|
// Now add the information to the database if it's not already there
|
||||||
if (!nostore)
|
if (!nostore)
|
||||||
{
|
{
|
||||||
BaseFile? baseFile = BaseFile.GetInfo(newfile, hashes: [HashType.SHA1], asFiles: TreatAsFile.NonArchive);
|
string sha1 = HashTool.GetFileHash(newfile, HashType.SHA1) ?? string.Empty;
|
||||||
AddHeaderToDatabase(hstr, TextHelper.ByteArrayToString(baseFile!.SHA1)!, rule.SourceFile!);
|
AddHeaderToDatabase(hstr, sha1, rule.SourceFile!);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.Data.Sqlite;
|
using Microsoft.Data.Sqlite;
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.FileTypes;
|
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
using SabreTools.IO;
|
using SabreTools.IO;
|
||||||
@@ -66,10 +65,10 @@ The following systems have headers that this program can work with:
|
|||||||
Directory.CreateDirectory(outDir);
|
Directory.CreateDirectory(outDir);
|
||||||
|
|
||||||
// First, get the SHA-1 hash of the file
|
// First, get the SHA-1 hash of the file
|
||||||
BaseFile? baseFile = BaseFile.GetInfo(file, hashes: [HashType.SHA1], asFiles: TreatAsFile.NonArchive);
|
string sha1 = HashTool.GetFileHash(file, HashType.SHA1) ?? string.Empty;
|
||||||
|
|
||||||
// Retrieve a list of all related headers from the database
|
// Retrieve a list of all related headers from the database
|
||||||
List<string> headers = RetrieveHeadersFromDatabase(TextHelper.ByteArrayToString(baseFile!.SHA1)!);
|
List<string> headers = RetrieveHeadersFromDatabase(sha1);
|
||||||
|
|
||||||
// If we have nothing retrieved, we return false
|
// If we have nothing retrieved, we return false
|
||||||
if (headers.Count == 0)
|
if (headers.Count == 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user