diff --git a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/CompendiumLoader.cs b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/CompendiumLoader.cs index b95aa21..c039983 100644 --- a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/CompendiumLoader.cs +++ b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/CompendiumLoader.cs @@ -1,5 +1,4 @@ -using Microsoft.Extensions.Logging; -using Newtonsoft.Json.Linq; +using Newtonsoft.Json.Linq; using Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.Compendium; namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry @@ -164,7 +163,7 @@ namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry public FileInfo File { get; } = file; public JObject Json { get; } = itemJson; public CompendiumFolder Folder { get; } = folder; - public string Type { get; } = itemJson["type"]?.ToString() + public string Type { get; } = itemJson["type"]?.ToString() ?? throw new Exception($"Expected to have `type` field in file {file.FullName}"); } } diff --git a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/AbstractProcessor.cs b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/AbstractProcessor.cs index bc30c43..f9068f7 100644 --- a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/AbstractProcessor.cs +++ b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/AbstractProcessor.cs @@ -1,6 +1,4 @@ -using LinqToDB.DataProvider.SapHana; -using Newtonsoft.Json.Linq; -using Npgsql; +using Newtonsoft.Json.Linq; namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.DataBuilder { diff --git a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Pf2eTypeProcessor.cs b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Pf2eTypeProcessor.cs index 0720062..8e1f4f0 100644 --- a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Pf2eTypeProcessor.cs +++ b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Pf2eTypeProcessor.cs @@ -1,11 +1,9 @@ -using System.Reflection; - -namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.DataBuilder +namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.DataBuilder { [AttributeUsage(AttributeTargets.Class)] internal class Pf2eTypeProcessor(string type) : Attribute { public readonly string Type = type; - + } } diff --git a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Processors/ConditionProcessor.cs b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Processors/ConditionProcessor.cs index 14940da..fb0f2ce 100644 --- a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Processors/ConditionProcessor.cs +++ b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/DataBuilder/Processors/ConditionProcessor.cs @@ -2,7 +2,6 @@ using Pf2eDataScrapper.Model; using Pf2eDataScrapper.Model.Enum; using Slugify; -using static LinqToDB.Common.Configuration; namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.DataBuilder.Processors { diff --git a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaBuilder.cs b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaBuilder.cs index eb0651d..1361f49 100644 --- a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaBuilder.cs +++ b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaBuilder.cs @@ -1,5 +1,4 @@ using Konsole; -using Newtonsoft.Json.Linq; using Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.Compendium; using Pf2eDataScrapper.SchemaBuilder; diff --git a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaTypeResolver.cs b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaTypeResolver.cs index d5f5f5c..0808051 100644 --- a/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaTypeResolver.cs +++ b/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/SchemaBuilder/CompendiumSchemaTypeResolver.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Newtonsoft.Json.Linq; +using Newtonsoft.Json.Linq; using Pf2eDataScrapper.SchemaBuilder; using Pf2eDataScrapper.SchemaBuilder.Types; @@ -55,7 +50,7 @@ namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.SchemaBuilder { return new DictionarySchemaType(node); } - + if (node.Path.EndsWith(".rules")) { return new FoundryRulesSchemaType(node); diff --git a/Pf2eDataScrapper/Pf2eTestContext.cs b/Pf2eDataScrapper/Pf2eTestContext.cs index be285ce..d1f5c39 100644 --- a/Pf2eDataScrapper/Pf2eTestContext.cs +++ b/Pf2eDataScrapper/Pf2eTestContext.cs @@ -1,12 +1,9 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Reflection; -using LinqToDB.SqlQuery; -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Pf2eDataScrapper.Model; using Pf2eDataScrapper.Model.Enum; +using System.ComponentModel; +using System.Reflection; namespace Pf2eDataScrapper; @@ -103,7 +100,8 @@ public partial class Pf2eTestContext : DbContext public virtual DbSet Traits { get; set; } - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { optionsBuilder.UseNpgsql(EnvSettings.DatabaseConnection, builder => { diff --git a/Pf2eDataScrapper/SchemaBuilder/SchemaNode.cs b/Pf2eDataScrapper/SchemaBuilder/SchemaNode.cs index 78a59f8..72fce6b 100644 --- a/Pf2eDataScrapper/SchemaBuilder/SchemaNode.cs +++ b/Pf2eDataScrapper/SchemaBuilder/SchemaNode.cs @@ -61,7 +61,7 @@ namespace Pf2eDataScrapper.SchemaBuilder /// /// Конструктор корневого элемента. /// - public SchemaNode() + public SchemaNode() { this.Root = true; } @@ -139,7 +139,8 @@ namespace Pf2eDataScrapper.SchemaBuilder /// Строковое представление элемента. public override string ToString() { - var result = new Dictionary() { + var result = new Dictionary() + { ["type"] = GetTypeName(), ["path"] = Path, ["is_null"] = IsNullable ? "true" : "false", @@ -204,7 +205,7 @@ namespace Pf2eDataScrapper.SchemaBuilder /// /// Словарь данных. /// Строка форматированных данных - public static string FormatYaml(params Dictionary[] input) + public static string FormatYaml(params List> input) { var result = ""; @@ -218,7 +219,7 @@ namespace Pf2eDataScrapper.SchemaBuilder return result.Trim(); } - public static Dictionary MergeDictionaries(params Dictionary[] input) + public static Dictionary MergeDictionaries(params List> input) { var result = new Dictionary(); diff --git a/Pf2eDataScrapper/SchemaBuilder/Types/ObjectSchemaType.cs b/Pf2eDataScrapper/SchemaBuilder/Types/ObjectSchemaType.cs index 5dc3780..5ff46ec 100644 --- a/Pf2eDataScrapper/SchemaBuilder/Types/ObjectSchemaType.cs +++ b/Pf2eDataScrapper/SchemaBuilder/Types/ObjectSchemaType.cs @@ -30,7 +30,7 @@ namespace Pf2eDataScrapper.SchemaBuilder.Types public override void AddValue(JToken value) { var obj = (JObject)value; - + foreach (var field in Fields) { if (!obj.ContainsKey(field.Name)) @@ -114,7 +114,8 @@ namespace Pf2eDataScrapper.SchemaBuilder.Types /// Словарь данных public override Dictionary GetYamlData() { - return new() { + return new() + { ["schema"] = SchemaNode.FormatYaml(GetSchemaYaml()) }; } diff --git a/Pf2eDataScrapper/SchemaBuilder/Types/StaticSchemaType.cs b/Pf2eDataScrapper/SchemaBuilder/Types/StaticSchemaType.cs index dd587c8..01df186 100644 --- a/Pf2eDataScrapper/SchemaBuilder/Types/StaticSchemaType.cs +++ b/Pf2eDataScrapper/SchemaBuilder/Types/StaticSchemaType.cs @@ -1,5 +1,4 @@ -using System.Linq.Expressions; -using Newtonsoft.Json.Linq; +using Newtonsoft.Json.Linq; namespace Pf2eDataScrapper.SchemaBuilder.Types { @@ -91,7 +90,8 @@ namespace Pf2eDataScrapper.SchemaBuilder.Types } } - return new() { + return new() + { ["different_values"] = count.ToString() + ((count == Root.Values) ? " (all different)" : "") + ((count == 1) ? " (all same)" : ""),