diff --git a/SabreTools.Filter/FieldManipulator.cs b/SabreTools.Core/Filter/FieldManipulator.cs similarity index 99% rename from SabreTools.Filter/FieldManipulator.cs rename to SabreTools.Core/Filter/FieldManipulator.cs index b4e2cf47..04f53ab2 100644 --- a/SabreTools.Filter/FieldManipulator.cs +++ b/SabreTools.Core/Filter/FieldManipulator.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Text.RegularExpressions; using SabreTools.Models.Metadata; -namespace SabreTools.Filter +namespace SabreTools.Core.Filter { public static class FieldManipulator { diff --git a/SabreTools.Filter/FilterObject.cs b/SabreTools.Core/Filter/FilterObject.cs similarity index 99% rename from SabreTools.Filter/FilterObject.cs rename to SabreTools.Core/Filter/FilterObject.cs index fe43f446..d6634182 100644 --- a/SabreTools.Filter/FilterObject.cs +++ b/SabreTools.Core/Filter/FilterObject.cs @@ -3,7 +3,7 @@ using System.Text.RegularExpressions; using SabreTools.Core.Tools; using SabreTools.Models.Metadata; -namespace SabreTools.Filter +namespace SabreTools.Core.Filter { /// /// Represents a single filtering object diff --git a/SabreTools.Filter/FilterParser.cs b/SabreTools.Core/Filter/FilterParser.cs similarity index 99% rename from SabreTools.Filter/FilterParser.cs rename to SabreTools.Core/Filter/FilterParser.cs index 95eccbc5..36dcc95c 100644 --- a/SabreTools.Filter/FilterParser.cs +++ b/SabreTools.Core/Filter/FilterParser.cs @@ -2,7 +2,7 @@ using System.Linq; using SabreTools.Models.Metadata; -namespace SabreTools.Filter +namespace SabreTools.Core.Filter { public static class FilterParser { diff --git a/SabreTools.Filter/FilterRunner.cs b/SabreTools.Core/Filter/FilterRunner.cs similarity index 98% rename from SabreTools.Filter/FilterRunner.cs rename to SabreTools.Core/Filter/FilterRunner.cs index 2c9a127c..76b6776c 100644 --- a/SabreTools.Filter/FilterRunner.cs +++ b/SabreTools.Core/Filter/FilterRunner.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using SabreTools.Models.Metadata; -namespace SabreTools.Filter +namespace SabreTools.Core.Filter { /// /// Represents a set of filters that can be run against an object diff --git a/SabreTools.Filter/Operation.cs b/SabreTools.Core/Filter/Operation.cs similarity index 91% rename from SabreTools.Filter/Operation.cs rename to SabreTools.Core/Filter/Operation.cs index d9adaed5..34ef3e7e 100644 --- a/SabreTools.Filter/Operation.cs +++ b/SabreTools.Core/Filter/Operation.cs @@ -1,4 +1,4 @@ -namespace SabreTools.Filter +namespace SabreTools.Core.Filter { /// /// Determines what operation is being done diff --git a/SabreTools.Filter/TypeHelper.cs b/SabreTools.Core/Filter/TypeHelper.cs similarity index 98% rename from SabreTools.Filter/TypeHelper.cs rename to SabreTools.Core/Filter/TypeHelper.cs index e060b801..79a282c0 100644 --- a/SabreTools.Filter/TypeHelper.cs +++ b/SabreTools.Core/Filter/TypeHelper.cs @@ -5,7 +5,7 @@ using System.Xml.Serialization; using SabreTools.Models; using SabreTools.Models.Metadata; -namespace SabreTools.Filter +namespace SabreTools.Core.Filter { public static class TypeHelper { diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index 7b93ef71..ebe40453 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -8,11 +8,11 @@ using System.Threading.Tasks; using System.Xml.Serialization; using Newtonsoft.Json; using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatFiles.Formats; using SabreTools.DatItems; using SabreTools.DatItems.Formats; -using SabreTools.Filter; using SabreTools.Hashing; using SabreTools.Logging; using SabreTools.Serialization.Interfaces; diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs index fe9b0bcb..71548d7e 100644 --- a/SabreTools.DatFiles/DatHeader.cs +++ b/SabreTools.DatFiles/DatHeader.cs @@ -4,9 +4,9 @@ using System.IO; using System.Xml.Serialization; using Newtonsoft.Json; using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatFiles.Formats; -using SabreTools.Filter; namespace SabreTools.DatFiles { diff --git a/SabreTools.DatFiles/Setter.cs b/SabreTools.DatFiles/Setter.cs index bc01df0d..588a03a2 100644 --- a/SabreTools.DatFiles/Setter.cs +++ b/SabreTools.DatFiles/Setter.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; using System.Linq; using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.DatItems.Formats; -using SabreTools.Filter; using SabreTools.Logging; namespace SabreTools.DatFiles diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index e816377d..2ee8ffd6 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -5,10 +5,10 @@ using System.Reflection; using System.Xml.Serialization; using Newtonsoft.Json; using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatItems.Formats; using SabreTools.FileTypes; -using SabreTools.Filter; using SabreTools.Hashing; using SabreTools.Logging; using SabreTools.Matching; diff --git a/SabreTools.DatItems/Machine.cs b/SabreTools.DatItems/Machine.cs index 9a270e51..e6d63e37 100644 --- a/SabreTools.DatItems/Machine.cs +++ b/SabreTools.DatItems/Machine.cs @@ -2,7 +2,7 @@ using System.Xml.Serialization; using Newtonsoft.Json; using SabreTools.Core; -using SabreTools.Filter; +using SabreTools.Core.Filter; namespace SabreTools.DatItems { diff --git a/SabreTools.DatItems/SabreTools.DatItems.csproj b/SabreTools.DatItems/SabreTools.DatItems.csproj index 8526cfeb..1cdea67b 100644 --- a/SabreTools.DatItems/SabreTools.DatItems.csproj +++ b/SabreTools.DatItems/SabreTools.DatItems.csproj @@ -23,7 +23,6 @@ - diff --git a/SabreTools.Filter/README.MD b/SabreTools.Filter/README.MD deleted file mode 100644 index 08a95600..00000000 --- a/SabreTools.Filter/README.MD +++ /dev/null @@ -1,3 +0,0 @@ -# SabreTools.Filter - -This library contains classes and helpers revolving around filtering and field manipulation. These methods are centered around the internal models that are defined in `SabreTools.Models`. Most of these methods also involve reflection, so it is unlikely that this will be a candidate for NativeAOT. \ No newline at end of file diff --git a/SabreTools.Filter/SabreTools.Filter.csproj b/SabreTools.Filter/SabreTools.Filter.csproj deleted file mode 100644 index 48c4f9ae..00000000 --- a/SabreTools.Filter/SabreTools.Filter.csproj +++ /dev/null @@ -1,31 +0,0 @@ - - - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - false - false - latest - enable - true - true - 1.1.2 - - - Matt Nadareski - Copyright (c)2016-2024 Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - - - - - - - - - - - diff --git a/SabreTools.Filtering/ExtraIni.cs b/SabreTools.Filtering/ExtraIni.cs index 9c0a33cd..a992c2d5 100644 --- a/SabreTools.Filtering/ExtraIni.cs +++ b/SabreTools.Filtering/ExtraIni.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using SabreTools.Core.Filter; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.Logging; @@ -68,7 +69,7 @@ namespace SabreTools.Filtering string fieldString = inputTrimmed.Split(':')[0].ToLowerInvariant().Trim('"', ' ', '\t'); string fileString = inputTrimmed.Substring(fieldString.Length + 1).Trim('"', ' ', '\t'); - item.FieldName = SabreTools.Filter.FilterParser.ParseFilterId(fieldString); + item.FieldName = FilterParser.ParseFilterId(fieldString); if (item.PopulateFromFile(fileString)) Items.Add(item); } diff --git a/SabreTools.Filtering/Remover.cs b/SabreTools.Filtering/Remover.cs index 2cd4c084..37a60dad 100644 --- a/SabreTools.Filtering/Remover.cs +++ b/SabreTools.Filtering/Remover.cs @@ -4,11 +4,11 @@ using System.Linq; using System.Threading.Tasks; #endif using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.DatItems.Formats; -using SabreTools.Filter; using SabreTools.Logging; namespace SabreTools.Filtering diff --git a/SabreTools.Filtering/SabreTools.Filtering.csproj b/SabreTools.Filtering/SabreTools.Filtering.csproj index 913d1214..98073c7c 100644 --- a/SabreTools.Filtering/SabreTools.Filtering.csproj +++ b/SabreTools.Filtering/SabreTools.Filtering.csproj @@ -24,7 +24,6 @@ - diff --git a/SabreTools.Test/Filter/FilteringTests.cs b/SabreTools.Test/Filter/FilteringTests.cs index c3627917..0b32b1ce 100644 --- a/SabreTools.Test/Filter/FilteringTests.cs +++ b/SabreTools.Test/Filter/FilteringTests.cs @@ -1,6 +1,6 @@ +using SabreTools.Core.Filter; using SabreTools.DatItems; using SabreTools.DatItems.Formats; -using SabreTools.Filter; using Xunit; namespace SabreTools.Test.Filter diff --git a/SabreTools.Test/Filter/PopulationTests.cs b/SabreTools.Test/Filter/PopulationTests.cs index 4cf44d6e..7a79cf5b 100644 --- a/SabreTools.Test/Filter/PopulationTests.cs +++ b/SabreTools.Test/Filter/PopulationTests.cs @@ -1,5 +1,5 @@ using System; -using SabreTools.Filter; +using SabreTools.Core.Filter; using Xunit; namespace SabreTools.Test.Filter diff --git a/SabreTools.sln b/SabreTools.sln index 54c2ad0d..65393451 100644 --- a/SabreTools.sln +++ b/SabreTools.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30128.74 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34607.119 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.DatFiles", "SabreTools.DatFiles\SabreTools.DatFiles.csproj", "{CA54EDF8-100F-46E7-933C-0E081C7FCBD3}" EndProject @@ -18,23 +18,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Core", "SabreTools.Core\SabreTools.Core.csproj", "{66E2FB10-77C0-4589-9DCD-3CA48702C18A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Help", "SabreTools.Help\SabreTools.Help.csproj", "{55364167-844F-4B58-8280-F5327FA3D8E7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Help", "SabreTools.Help\SabreTools.Help.csproj", "{55364167-844F-4B58-8280-F5327FA3D8E7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Logging", "SabreTools.Logging\SabreTools.Logging.csproj", "{3D54D896-19F0-4723-B1E3-E40FAFE5A078}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Logging", "SabreTools.Logging\SabreTools.Logging.csproj", "{3D54D896-19F0-4723-B1E3-E40FAFE5A078}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Filtering", "SabreTools.Filtering\SabreTools.Filtering.csproj", "{35129634-0F13-416A-8D4D-35B71DFECFFD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Filtering", "SabreTools.Filtering\SabreTools.Filtering.csproj", "{35129634-0F13-416A-8D4D-35B71DFECFFD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.FileTypes", "SabreTools.FileTypes\SabreTools.FileTypes.csproj", "{0B36F39B-69CB-4E8A-B251-D063CB08B247}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.FileTypes", "SabreTools.FileTypes\SabreTools.FileTypes.csproj", "{0B36F39B-69CB-4E8A-B251-D063CB08B247}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.DatItems", "SabreTools.DatItems\SabreTools.DatItems.csproj", "{90ADE461-33B1-4E0D-925F-C99913665F0C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.DatItems", "SabreTools.DatItems\SabreTools.DatItems.csproj", "{90ADE461-33B1-4E0D-925F-C99913665F0C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.DatTools", "SabreTools.DatTools\SabreTools.DatTools.csproj", "{E0D12252-BBF3-4E3C-B2E2-79FA49EE31E5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.DatTools", "SabreTools.DatTools\SabreTools.DatTools.csproj", "{E0D12252-BBF3-4E3C-B2E2-79FA49EE31E5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Reports", "SabreTools.Reports\SabreTools.Reports.csproj", "{8B3F0606-0C2F-4004-9CB6-4F1F2497DCE4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Reports", "SabreTools.Reports\SabreTools.Reports.csproj", "{8B3F0606-0C2F-4004-9CB6-4F1F2497DCE4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Test", "SabreTools.Test\SabreTools.Test.csproj", "{5B4E67D5-F4DA-4750-8FE2-04D08E343791}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Filter", "SabreTools.Filter\SabreTools.Filter.csproj", "{2A7A27A9-5FB9-4F6D-88F3-67120668A029}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Test", "SabreTools.Test\SabreTools.Test.csproj", "{5B4E67D5-F4DA-4750-8FE2-04D08E343791}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -140,14 +138,6 @@ Global {5B4E67D5-F4DA-4750-8FE2-04D08E343791}.Release|Any CPU.Build.0 = Release|Any CPU {5B4E67D5-F4DA-4750-8FE2-04D08E343791}.Release|x64.ActiveCfg = Release|Any CPU {5B4E67D5-F4DA-4750-8FE2-04D08E343791}.Release|x64.Build.0 = Release|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Debug|x64.ActiveCfg = Debug|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Debug|x64.Build.0 = Debug|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|Any CPU.Build.0 = Release|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|x64.ActiveCfg = Release|Any CPU - {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SabreTools/Features/BaseFeature.cs b/SabreTools/Features/BaseFeature.cs index 5b956221..099402f0 100644 --- a/SabreTools/Features/BaseFeature.cs +++ b/SabreTools/Features/BaseFeature.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using Microsoft.Data.Sqlite; using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatFiles; using SabreTools.DatTools; @@ -1783,7 +1784,7 @@ Some special strings that can be used: /// /// Preonfigured FilterRunner /// - protected Filter.FilterRunner? FilterRunner { get; set; } + protected FilterRunner? FilterRunner { get; set; } /// /// Pre-configured DatHeader @@ -2046,7 +2047,7 @@ Some special strings that can be used: List updateFields = []; foreach (string fieldName in GetList(features, UpdateFieldListValue)) { - (string? itemType, string? key) = SabreTools.Filter.FilterParser.ParseFilterId(fieldName); + (string? itemType, string? key) = FilterParser.ParseFilterId(fieldName); if (itemType == Models.Metadata.MetadataFile.MachineKey && key != null) updateFields.Add(key); } @@ -2062,7 +2063,7 @@ Some special strings that can be used: Dictionary> updateFields = []; foreach (string fieldName in GetList(features, UpdateFieldListValue)) { - (string? itemType, string? key) = SabreTools.Filter.FilterParser.ParseFilterId(fieldName); + (string? itemType, string? key) = FilterParser.ParseFilterId(fieldName); if (itemType != null && itemType != Models.Metadata.MetadataFile.HeaderKey && itemType != Models.Metadata.MetadataFile.MachineKey && key != null) { if (!updateFields.ContainsKey(itemType)) @@ -2233,7 +2234,7 @@ Some special strings that can be used: /// /// Get FilterRunner from feature list /// - private static Filter.FilterRunner GetFilterRunner(Dictionary features) + private static FilterRunner GetFilterRunner(Dictionary features) { // Populate filters List filterPairs = GetList(features, FilterListValue); @@ -2245,7 +2246,7 @@ Some special strings that can be used: // TODO: Support this use case somehow } - var filterRunner = new Filter.FilterRunner(filterPairs.ToArray()); + var filterRunner = new FilterRunner(filterPairs.ToArray()); return filterRunner; } diff --git a/SabreTools/Features/Batch.cs b/SabreTools/Features/Batch.cs index 680d0dfa..fc164b32 100644 --- a/SabreTools/Features/Batch.cs +++ b/SabreTools/Features/Batch.cs @@ -4,10 +4,10 @@ using System.IO; using System.Linq; using System.Text.RegularExpressions; using SabreTools.Core; +using SabreTools.Core.Filter; using SabreTools.Core.Tools; using SabreTools.DatFiles; using SabreTools.DatTools; -using SabreTools.Filter; using SabreTools.Filtering; using SabreTools.Hashing; using SabreTools.Help; @@ -423,7 +423,7 @@ Reset the internal state: reset();"; string filterString = $"{filterField}{(filterRemove == true ? "!" : string.Empty)}:{filterValue}"; // Create filter to run filters from - var filter = new Filter.FilterRunner([filterString]); + var filter = new FilterRunner([filterString]); // Apply the filters blindly batchState.DatFile.ExecuteFilters(filter);