Набор мелких измнений за месяц
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||||
|
|
||||||
|
## AbstractEntityProcessor\.Context Property
|
||||||
|
|
||||||
|
Предоставляет механизм для освобождения неуправляемых ресурсов\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eModel.Pf2eDbContext Context { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||||
|
|
||||||
|
## AbstractEntityProcessor\.GetEntityName\(\) Method
|
||||||
|
|
||||||
|
Получает имя сущности из входных данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
protected virtual string GetEntityName();
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
|
Имя сущности\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||||
|
|
||||||
|
## AbstractEntityProcessor\.Globals Property
|
||||||
|
|
||||||
|
Класс\-помощник, хранящий необходимые глобальные данные\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.AonprdBuilderGlobals Globals { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||||
|
|
||||||
|
## AbstractEntityProcessor\.Helper Property
|
||||||
|
|
||||||
|
Класс предоставляет методы для работы с базой данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eDataScrapper.Helpers.DatabaseHelper Helper { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[DatabaseHelper](DatabaseHelper.md 'Pf2eDataScrapper\.Helpers\.DatabaseHelper')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||||
|
|
||||||
|
## AbstractEntityProcessor\.Name Property
|
||||||
|
|
||||||
|
Название сущности, которое будет использоваться для обработки данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public string Name { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
@@ -39,7 +39,11 @@ Derived
|
|||||||
|
|
||||||
| Properties | |
|
| Properties | |
|
||||||
| :--- | :--- |
|
| :--- | :--- |
|
||||||
|
| [Context](AbstractEntityProcessor.Context.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Context') | Предоставляет механизм для освобождения неуправляемых ресурсов\. |
|
||||||
| [Entity](AbstractEntityProcessor.Entity.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Entity') | Корневая сущность\. |
|
| [Entity](AbstractEntityProcessor.Entity.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Entity') | Корневая сущность\. |
|
||||||
|
| [Globals](AbstractEntityProcessor.Globals.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Globals') | Класс\-помощник, хранящий необходимые глобальные данные\. |
|
||||||
|
| [Helper](AbstractEntityProcessor.Helper.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Helper') | Класс предоставляет методы для работы с базой данных\. |
|
||||||
|
| [Name](AbstractEntityProcessor.Name.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Name') | Название сущности, которое будет использоваться для обработки данных\. |
|
||||||
| [Object](AbstractEntityProcessor.Object.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Object') | Основная сущность\. |
|
| [Object](AbstractEntityProcessor.Object.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Object') | Основная сущность\. |
|
||||||
| [Type](AbstractEntityProcessor.Type.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Type') | Тип сущности\. |
|
| [Type](AbstractEntityProcessor.Type.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Type') | Тип сущности\. |
|
||||||
|
|
||||||
@@ -56,5 +60,6 @@ Derived
|
|||||||
| [Check\(\)](AbstractEntityProcessor.Check().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Check\(\)') | Проверки необходимости импорта сущности\. |
|
| [Check\(\)](AbstractEntityProcessor.Check().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Check\(\)') | Проверки необходимости импорта сущности\. |
|
||||||
| [GenerateJsonString\(ICollection<string>\)](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\<string\>\)') | Генерация JSON\-строки из объектов, располагаюхися по путям, указанным в [paths](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md#Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.GenerateJsonString(System.Collections.Generic.ICollection_string_).paths 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\<string\>\)\.paths')\. |
|
| [GenerateJsonString\(ICollection<string>\)](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\<string\>\)') | Генерация JSON\-строки из объектов, располагаюхися по путям, указанным в [paths](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md#Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.GenerateJsonString(System.Collections.Generic.ICollection_string_).paths 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\<string\>\)\.paths')\. |
|
||||||
| [GetDescription\(\)](AbstractEntityProcessor.GetDescription().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GetDescription\(\)') | Сгенерировать описание сущности\. |
|
| [GetDescription\(\)](AbstractEntityProcessor.GetDescription().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GetDescription\(\)') | Сгенерировать описание сущности\. |
|
||||||
|
| [GetEntityName\(\)](AbstractEntityProcessor.GetEntityName().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GetEntityName\(\)') | Получает имя сущности из входных данных\. |
|
||||||
| [Process\(\)](AbstractEntityProcessor.Process().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Process\(\)') | Основной метод обработки данных\. |
|
| [Process\(\)](AbstractEntityProcessor.Process().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Process\(\)') | Основной метод обработки данных\. |
|
||||||
| [Save\(\)](AbstractEntityProcessor.Save().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
|
| [Save\(\)](AbstractEntityProcessor.Save().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
|
|||||||
Derived
|
Derived
|
||||||
↳ [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
↳ [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||||
↳ [SkillProcessor](SkillProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SkillProcessor')
|
↳ [SkillProcessor](SkillProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SkillProcessor')
|
||||||
↳ [SourceProcessor](SourceProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SourceProcessor')
|
↳ [SourceProcessor](SourceProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SourceProcessor')
|
||||||
|
↳ [FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
Implements [IProcessor](IProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor')
|
Implements [IProcessor](IProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor')
|
||||||
|
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
|
||||||
|
|
||||||
|
## AonprdBuilderGlobals\.JsonToDictionary\(JObject, string\) Method
|
||||||
|
|
||||||
|
Преобразовать JSON\-объект в словарь\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public static System.Collections.Generic.Dictionary<string,string> JsonToDictionary(Newtonsoft.Json.Linq.JObject json, string tokenPath);
|
||||||
|
```
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.AonprdBuilderGlobals.JsonToDictionary(Newtonsoft.Json.Linq.JObject,string).json'></a>
|
||||||
|
|
||||||
|
`json` [Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')
|
||||||
|
|
||||||
|
Исходный JSON\-объект\.
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.AonprdBuilderGlobals.JsonToDictionary(Newtonsoft.Json.Linq.JObject,string).tokenPath'></a>
|
||||||
|
|
||||||
|
`tokenPath` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
|
|
||||||
|
Путь к токену в JSON\.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
|
||||||
|
Результирующий словарь\.
|
||||||
@@ -28,3 +28,4 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
|
|||||||
| Methods | |
|
| Methods | |
|
||||||
| :--- | :--- |
|
| :--- | :--- |
|
||||||
| [GetSlugSuffix\(string\)](AonprdBuilderGlobals.GetSlugSuffix(string).md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.GetSlugSuffix\(string\)') | Получить суффикс для ссылки\. |
|
| [GetSlugSuffix\(string\)](AonprdBuilderGlobals.GetSlugSuffix(string).md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.GetSlugSuffix\(string\)') | Получить суффикс для ссылки\. |
|
||||||
|
| [JsonToDictionary\(JObject, string\)](AonprdBuilderGlobals.JsonToDictionary(JObject,string).md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.JsonToDictionary\(Newtonsoft\.Json\.Linq\.JObject, string\)') | Преобразовать JSON\-объект в словарь\. |
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.AddExternal\(\) Method
|
||||||
|
|
||||||
|
Генерация внешних ссылок сущности\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
protected virtual void AddExternal();
|
||||||
|
```
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.CheckEntity\(\) Method
|
||||||
|
|
||||||
|
Проверяет входные данные на наличие идентификатора сущности и игнорирует её, если она указана в списке игнорируемых\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public virtual void CheckEntity();
|
||||||
|
```
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Context Property
|
||||||
|
|
||||||
|
Предоставляет механизм для освобождения неуправляемых ресурсов\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eModel.Pf2eDbContext Context { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Entity Property
|
||||||
|
|
||||||
|
Основная сущность, которая будет использоваться для обработки данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eModel.Model.Base.Entity Entity { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[Pf2eModel\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Base.Entity 'Pf2eModel\.Model\.Base\.Entity')
|
||||||
+37
@@ -0,0 +1,37 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\(DatabaseHelper, Pf2eDbContext, FoundryEnGlobals, ProcessorInput\) Constructor
|
||||||
|
|
||||||
|
Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\.
|
||||||
|
Класс предназначен для обработки данных с помощью различных обработчиков,
|
||||||
|
для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2eDataScrapper\.Processors\.Attributes\.ProcessorAttribute')\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
protected FoundryEnAbstractProcessor(Pf2eDataScrapper.Helpers.DatabaseHelper databaseHelper, Pf2eModel.Pf2eDbContext context, Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals globals, Pf2eDataScrapper.Processors.ProcessorInput input);
|
||||||
|
```
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(Pf2eDataScrapper.Helpers.DatabaseHelper,Pf2eModel.Pf2eDbContext,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals,Pf2eDataScrapper.Processors.ProcessorInput).databaseHelper'></a>
|
||||||
|
|
||||||
|
`databaseHelper` [DatabaseHelper](DatabaseHelper.md 'Pf2eDataScrapper\.Helpers\.DatabaseHelper')
|
||||||
|
|
||||||
|
\[DI\] \<inheritdoc cref="T:Pf2eDataScrapper\.Helpers\.DatabaseHelper" /\>
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(Pf2eDataScrapper.Helpers.DatabaseHelper,Pf2eModel.Pf2eDbContext,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals,Pf2eDataScrapper.Processors.ProcessorInput).context'></a>
|
||||||
|
|
||||||
|
`context` [Pf2eModel\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Pf2eDbContext 'Pf2eModel\.Pf2eDbContext')
|
||||||
|
|
||||||
|
\[DI\] \<inheritdoc cref="T:Pf2eModel\.Pf2eDbContext" /\>
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(Pf2eDataScrapper.Helpers.DatabaseHelper,Pf2eModel.Pf2eDbContext,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals,Pf2eDataScrapper.Processors.ProcessorInput).globals'></a>
|
||||||
|
|
||||||
|
`globals` [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
\[DI\] \<inheritdoc cref="T:Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals" /\>
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(Pf2eDataScrapper.Helpers.DatabaseHelper,Pf2eModel.Pf2eDbContext,Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals,Pf2eDataScrapper.Processors.ProcessorInput).input'></a>
|
||||||
|
|
||||||
|
`input` [ProcessorInput](ProcessorInput.md 'Pf2eDataScrapper\.Processors\.ProcessorInput')
|
||||||
|
|
||||||
|
Объект обработки вводимого JSON\.
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.GetEntityName\(\) Method
|
||||||
|
|
||||||
|
Получить имя сущности из входных данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
protected virtual string GetEntityName();
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
|
Имя сущности\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Globals Property
|
||||||
|
|
||||||
|
Глобальные константы и утилиты для импорта данных в формате Foundry En\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals Globals { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Helper Property
|
||||||
|
|
||||||
|
Класс предоставляет методы для работы с базой данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
protected Pf2eDataScrapper.Helpers.DatabaseHelper Helper { protected get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[DatabaseHelper](DatabaseHelper.md 'Pf2eDataScrapper\.Helpers\.DatabaseHelper')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Name Property
|
||||||
|
|
||||||
|
Название сущности, которое будет использоваться для обработки данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public string Name { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Object Property
|
||||||
|
|
||||||
|
Подчинённая сущность, которая будет использоваться для обработки данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public TEntity Object { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[TEntity](FoundryEnAbstractProcessor_TEntity_.md#Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.TEntity 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.TEntity')
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Process\(\) Method
|
||||||
|
|
||||||
|
Основной метод обработки данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public override void Process();
|
||||||
|
```
|
||||||
|
|
||||||
|
Implements [Process\(\)](IProcessor.Process().md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.ResolveEntity\(\) Method
|
||||||
|
|
||||||
|
Разрешает сущность, основываясь на входных данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public virtual int ResolveEntity();
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
|
||||||
|
Идентификатор сущности\.
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Save\(\) Method
|
||||||
|
|
||||||
|
Метод для сохранения изменений в базе данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public override void Save();
|
||||||
|
```
|
||||||
|
|
||||||
|
Implements [Save\(\)](IProcessor.Save().md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor\.Save\(\)')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.Type Property
|
||||||
|
|
||||||
|
Тип сущности\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public abstract Pf2eModel.Model.Enum.EntityType Type { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[Pf2eModel\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2eModel.Model.Enum.EntityType 'Pf2eModel\.Model\.Enum\.EntityType')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\>\.View Property
|
||||||
|
|
||||||
|
Представление сущности, которое будет использоваться для обработки данных\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eDataScrapper.Helpers.EntityView View { get; private set; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[EntityView](EntityView.md 'Pf2eDataScrapper\.Helpers\.EntityView')
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors')
|
||||||
|
|
||||||
|
## FoundryEnAbstractProcessor\<TEntity\> Class
|
||||||
|
|
||||||
|
Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\.
|
||||||
|
Класс предназначен для обработки данных с помощью различных обработчиков,
|
||||||
|
для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2eDataScrapper\.Processors\.Attributes\.ProcessorAttribute')\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
internal abstract class FoundryEnAbstractProcessor<TEntity> : Pf2eDataScrapper.Processors.Definitions.AbstractInputProcessor
|
||||||
|
where TEntity : class, Pf2eModel.Model.IEntity
|
||||||
|
```
|
||||||
|
#### Type parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.TEntity'></a>
|
||||||
|
|
||||||
|
`TEntity`
|
||||||
|
|
||||||
|
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 FoundryEnAbstractProcessor<TEntity>
|
||||||
|
|
||||||
|
| Constructors | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [FoundryEnAbstractProcessor\(DatabaseHelper, Pf2eDbContext, FoundryEnGlobals, ProcessorInput\)](FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(DatabaseHelper,Pf2eDbContext,FoundryEnGlobals,ProcessorInput).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.FoundryEnAbstractProcessor\(Pf2eDataScrapper\.Helpers\.DatabaseHelper, Pf2eModel\.Pf2eDbContext, Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals, Pf2eDataScrapper\.Processors\.ProcessorInput\)') | Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\. Класс предназначен для обработки данных с помощью различных обработчиков, для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2eDataScrapper\.Processors\.Attributes\.ProcessorAttribute')\. |
|
||||||
|
|
||||||
|
| Properties | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [Context](FoundryEnAbstractProcessor_TEntity_.Context.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Context') | Предоставляет механизм для освобождения неуправляемых ресурсов\. |
|
||||||
|
| [Entity](FoundryEnAbstractProcessor_TEntity_.Entity.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Entity') | Основная сущность, которая будет использоваться для обработки данных\. |
|
||||||
|
| [Globals](FoundryEnAbstractProcessor_TEntity_.Globals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Globals') | Глобальные константы и утилиты для импорта данных в формате Foundry En\. |
|
||||||
|
| [Helper](FoundryEnAbstractProcessor_TEntity_.Helper.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Helper') | Класс предоставляет методы для работы с базой данных\. |
|
||||||
|
| [Name](FoundryEnAbstractProcessor_TEntity_.Name.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Name') | Название сущности, которое будет использоваться для обработки данных\. |
|
||||||
|
| [Object](FoundryEnAbstractProcessor_TEntity_.Object.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Object') | Подчинённая сущность, которая будет использоваться для обработки данных\. |
|
||||||
|
| [Type](FoundryEnAbstractProcessor_TEntity_.Type.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Type') | Тип сущности\. |
|
||||||
|
| [View](FoundryEnAbstractProcessor_TEntity_.View.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.View') | Представление сущности, которое будет использоваться для обработки данных\. |
|
||||||
|
|
||||||
|
| Methods | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [AddExternal\(\)](FoundryEnAbstractProcessor_TEntity_.AddExternal().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.AddExternal\(\)') | Генерация внешних ссылок сущности\. |
|
||||||
|
| [CheckEntity\(\)](FoundryEnAbstractProcessor_TEntity_.CheckEntity().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.CheckEntity\(\)') | Проверяет входные данные на наличие идентификатора сущности и игнорирует её, если она указана в списке игнорируемых\. |
|
||||||
|
| [GetEntityName\(\)](FoundryEnAbstractProcessor_TEntity_.GetEntityName().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.GetEntityName\(\)') | Получить имя сущности из входных данных\. |
|
||||||
|
| [Process\(\)](FoundryEnAbstractProcessor_TEntity_.Process().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Process\(\)') | Основной метод обработки данных\. |
|
||||||
|
| [ResolveEntity\(\)](FoundryEnAbstractProcessor_TEntity_.ResolveEntity().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.ResolveEntity\(\)') | Разрешает сущность, основываясь на входных данных\. |
|
||||||
|
| [Save\(\)](FoundryEnAbstractProcessor_TEntity_.Save().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
## FoundryEnGlobals\(\) Constructor
|
||||||
|
|
||||||
|
Конструктор класса [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public FoundryEnGlobals();
|
||||||
|
```
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
## FoundryEnGlobals\.GetSlugSuffix\(string\) Method
|
||||||
|
|
||||||
|
Получить суффикс для ссылки\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public string GetSlugSuffix(string id);
|
||||||
|
```
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals.GetSlugSuffix(string).id'></a>
|
||||||
|
|
||||||
|
`id` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
|
|
||||||
|
Идентификатор Aonprd\.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
|
Суффикс для ссылки или пустая строка\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
## FoundryEnGlobals\.Ignore Property
|
||||||
|
|
||||||
|
Список идентификаторв пропускаемых сущностей\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public System.Collections.Generic.List<string> Ignore { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[System\.Collections\.Generic\.List<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
## FoundryEnGlobals\.JsonToDictionary\(JObject, string\) Method
|
||||||
|
|
||||||
|
Преобразовать JSON\-объект в словарь\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public static System.Collections.Generic.Dictionary<string,string> JsonToDictionary(Newtonsoft.Json.Linq.JObject json, string tokenPath);
|
||||||
|
```
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals.JsonToDictionary(Newtonsoft.Json.Linq.JObject,string).json'></a>
|
||||||
|
|
||||||
|
`json` [Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')
|
||||||
|
|
||||||
|
Исходный JSON\-объект\.
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals.JsonToDictionary(Newtonsoft.Json.Linq.JObject,string).tokenPath'></a>
|
||||||
|
|
||||||
|
`tokenPath` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
|
||||||
|
|
||||||
|
Путь к токену в JSON\.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
|
||||||
|
Результирующий словарь\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
## FoundryEnGlobals\.MatchToAonprd Property
|
||||||
|
|
||||||
|
Словарь соответствий идентификаторов Aonprd к Foundry En\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public System.Collections.Generic.Dictionary<string,string> MatchToAonprd { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers').[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
|
||||||
|
|
||||||
|
## FoundryEnGlobals\.SlugSuffixes Property
|
||||||
|
|
||||||
|
Словарей суффиксов для сущностей\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public System.Collections.Generic.Dictionary<string,string> SlugSuffixes { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
|
||||||
@@ -11,6 +11,18 @@ internal class FoundryEnGlobals
|
|||||||
|
|
||||||
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 FoundryEnGlobals
|
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 FoundryEnGlobals
|
||||||
|
|
||||||
|
| Constructors | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [FoundryEnGlobals\(\)](FoundryEnGlobals.FoundryEnGlobals().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.FoundryEnGlobals\(\)') | Конструктор класса [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')\. |
|
||||||
|
|
||||||
| Properties | |
|
| Properties | |
|
||||||
| :--- | :--- |
|
| :--- | :--- |
|
||||||
| [FoundryTarget](FoundryEnGlobals.FoundryTarget.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.FoundryTarget') | Цель внешних ссылок для Foundry En\. |
|
| [FoundryTarget](FoundryEnGlobals.FoundryTarget.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.FoundryTarget') | Цель внешних ссылок для Foundry En\. |
|
||||||
|
| [Ignore](FoundryEnGlobals.Ignore.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.Ignore') | Список идентификаторв пропускаемых сущностей\. |
|
||||||
|
| [MatchToAonprd](FoundryEnGlobals.MatchToAonprd.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.MatchToAonprd') | Словарь соответствий идентификаторов Aonprd к Foundry En\. |
|
||||||
|
| [SlugSuffixes](FoundryEnGlobals.SlugSuffixes.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.SlugSuffixes') | Словарей суффиксов для сущностей\. |
|
||||||
|
|
||||||
|
| Methods | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [GetSlugSuffix\(string\)](FoundryEnGlobals.GetSlugSuffix(string).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.GetSlugSuffix\(string\)') | Получить суффикс для ссылки\. |
|
||||||
|
| [JsonToDictionary\(JObject, string\)](FoundryEnGlobals.JsonToDictionary(JObject,string).md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.JsonToDictionary\(Newtonsoft\.Json\.Linq\.JObject, string\)') | Преобразовать JSON\-объект в словарь\. |
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
|
||||||
|
## Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors Namespace
|
||||||
|
|
||||||
|
| Classes | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\<TEntity\>') | Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\. Класс предназначен для обработки данных с помощью различных обработчиков, для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2eDataScrapper\.Processors\.Attributes\.ProcessorAttribute')\. |
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
| :--- | :--- |
|
| :--- | :--- |
|
||||||
| [EnumSolver<TEnum>](EnumSolver_TEnum_.md 'Pf2eDataScrapper\.Processors\.EnumSolver\<TEnum\>') | Абстрактный класс для разрешения значений перечислений\. |
|
| [EnumSolver<TEnum>](EnumSolver_TEnum_.md 'Pf2eDataScrapper\.Processors\.EnumSolver\<TEnum\>') | Абстрактный класс для разрешения значений перечислений\. |
|
||||||
| [LegacyItemException](LegacyItemException.md 'Pf2eDataScrapper\.Processors\.LegacyItemException') | Исключение, показывающее, что обработка сущности пропускается как устаревшая\. |
|
| [LegacyItemException](LegacyItemException.md 'Pf2eDataScrapper\.Processors\.LegacyItemException') | Исключение, показывающее, что обработка сущности пропускается как устаревшая\. |
|
||||||
|
| [ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor') | Класс, выполняющий обработку коллекции обработчиков\. |
|
||||||
| [ProcessorInput](ProcessorInput.md 'Pf2eDataScrapper\.Processors\.ProcessorInput') | Класс для работы с JSON\-объектом\. |
|
| [ProcessorInput](ProcessorInput.md 'Pf2eDataScrapper\.Processors\.ProcessorInput') | Класс для работы с JSON\-объектом\. |
|
||||||
| [ProcessorInput\.InvalidEnumStringException](ProcessorInput.InvalidEnumStringException.md 'Pf2eDataScrapper\.Processors\.ProcessorInput\.InvalidEnumStringException') | Исключение при неверном значении для перечисленния\. |
|
| [ProcessorInput\.InvalidEnumStringException](ProcessorInput.InvalidEnumStringException.md 'Pf2eDataScrapper\.Processors\.ProcessorInput\.InvalidEnumStringException') | Исключение при неверном значении для перечисленния\. |
|
||||||
| [SilentSkipItemException](SilentSkipItemException.md 'Pf2eDataScrapper\.Processors\.SilentSkipItemException') | Исключение, показывающее, что обработка сущности пропускается без вывода сообщения\. |
|
| [SilentSkipItemException](SilentSkipItemException.md 'Pf2eDataScrapper\.Processors\.SilentSkipItemException') | Исключение, показывающее, что обработка сущности пропускается без вывода сообщения\. |
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.Collection Property
|
||||||
|
|
||||||
|
Класс с коллекцией обработчиков\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eDataScrapper.Processors.Collection.ProcessorCollection Collection { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[ProcessorCollection](ProcessorCollection.md 'Pf2eDataScrapper\.Processors\.Collection\.ProcessorCollection')
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.Continue\(\) Method
|
||||||
|
|
||||||
|
Переходит к обработке следующего элемента в коллекции или завершает процесс, если все элементы были обработаны\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
private void Continue();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Remarks
|
||||||
|
Этот метод увеличивает текущий индекс и определяет, начинать ли обработку следующего элемента или завершить
|
||||||
|
процесс\. Если текущий индекс превышает количество элементов в коллекции, процесс помечается как завершенный\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.CurrentFactory Property
|
||||||
|
|
||||||
|
Текущая фабрика процессоров, которая используется для обработки\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
private Pf2eDataScrapper.Processors.Factory.AbstractProcessorFactory CurrentFactory { private get; private set; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[AbstractProcessorFactory](AbstractProcessorFactory.md 'Pf2eDataScrapper\.Processors\.Factory\.AbstractProcessorFactory')
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.IterateProcessors\(\) Method
|
||||||
|
|
||||||
|
Выполняет итерацию по всем процессорам, предоставленным текущей фабрикой\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
private System.Collections.Generic.IEnumerable<Pf2eDataScrapper.Processors.Definitions.IProcessor> IterateProcessors();
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
[System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[IProcessor](IProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
|
||||||
|
Перечисляемая коллекция экземпляров [IProcessor](IProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor'),
|
||||||
|
представляющая процессоры, доступные в текущей фабрике\.
|
||||||
|
|
||||||
|
### Remarks
|
||||||
|
Этот метод выдает каждый процессор последовательно, позволяя вызывающему
|
||||||
|
обрабатывать их по одному за раз\. Отслеживание прогресса обновляется для каждого
|
||||||
|
процессора во время итерации\.
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\(ProcessorCollection, ProcessProgress, ApplicationSettings\) Constructor
|
||||||
|
|
||||||
|
Класс, выполняющий обработку коллекции обработчиков\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public ProcessorExecutor(Pf2eDataScrapper.Processors.Collection.ProcessorCollection collection, Pf2eDataScrapper.Helpers.ProcessProgress progress, Pf2eDataScrapper.ApplicationSettings settings);
|
||||||
|
```
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Processors.ProcessorExecutor.ProcessorExecutor(Pf2eDataScrapper.Processors.Collection.ProcessorCollection,Pf2eDataScrapper.Helpers.ProcessProgress,Pf2eDataScrapper.ApplicationSettings).collection'></a>
|
||||||
|
|
||||||
|
`collection` [ProcessorCollection](ProcessorCollection.md 'Pf2eDataScrapper\.Processors\.Collection\.ProcessorCollection')
|
||||||
|
|
||||||
|
\[DI\] \<inheritdoc cref="T:Pf2eDataScrapper\.Processors\.Collection\.ProcessorCollection" /\>
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Processors.ProcessorExecutor.ProcessorExecutor(Pf2eDataScrapper.Processors.Collection.ProcessorCollection,Pf2eDataScrapper.Helpers.ProcessProgress,Pf2eDataScrapper.ApplicationSettings).progress'></a>
|
||||||
|
|
||||||
|
`progress` [ProcessProgress](ProcessProgress.md 'Pf2eDataScrapper\.Helpers\.ProcessProgress')
|
||||||
|
|
||||||
|
\[DI\] \<inheritdoc cref="T:Pf2eDataScrapper\.Helpers\.ProcessProgress" /\>
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Processors.ProcessorExecutor.ProcessorExecutor(Pf2eDataScrapper.Processors.Collection.ProcessorCollection,Pf2eDataScrapper.Helpers.ProcessProgress,Pf2eDataScrapper.ApplicationSettings).settings'></a>
|
||||||
|
|
||||||
|
`settings` [ApplicationSettings](ApplicationSettings.md 'Pf2eDataScrapper\.ApplicationSettings')
|
||||||
|
|
||||||
|
\[DI\] \<inheritdoc cref="T:Pf2eDataScrapper\.ApplicationSettings" /\>
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.RunProcessor\(IProcessor, ParallelLoopState, long\) Method
|
||||||
|
|
||||||
|
Запускает указанный процессор для выполнения операций обработки и сохранения\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
private void RunProcessor(Pf2eDataScrapper.Processors.Definitions.IProcessor processor, System.Threading.Tasks.ParallelLoopState state, long arg3);
|
||||||
|
```
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Processors.ProcessorExecutor.RunProcessor(Pf2eDataScrapper.Processors.Definitions.IProcessor,System.Threading.Tasks.ParallelLoopState,long).processor'></a>
|
||||||
|
|
||||||
|
`processor` [IProcessor](IProcessor.md 'Pf2eDataScrapper\.Processors\.Definitions\.IProcessor')
|
||||||
|
|
||||||
|
Экземпляр процессора, выполняющий операции обработки и сохранения\.
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Processors.ProcessorExecutor.RunProcessor(Pf2eDataScrapper.Processors.Definitions.IProcessor,System.Threading.Tasks.ParallelLoopState,long).state'></a>
|
||||||
|
|
||||||
|
`state` [System\.Threading\.Tasks\.ParallelLoopState](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.ParallelLoopState 'System\.Threading\.Tasks\.ParallelLoopState')
|
||||||
|
|
||||||
|
Экземпляр [System\.Threading\.Tasks\.ParallelLoopState](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.ParallelLoopState 'System\.Threading\.Tasks\.ParallelLoopState'), который можно использовать для управления выполнением
|
||||||
|
параллельного цикла\.
|
||||||
|
|
||||||
|
<a name='Pf2eDataScrapper.Processors.ProcessorExecutor.RunProcessor(Pf2eDataScrapper.Processors.Definitions.IProcessor,System.Threading.Tasks.ParallelLoopState,long).arg3'></a>
|
||||||
|
|
||||||
|
`arg3` [System\.Int64](https://docs.microsoft.com/en-us/dotnet/api/System.Int64 'System\.Int64')
|
||||||
|
|
||||||
|
Длинное значение, представляющее текущий индекс итерации или связанные данные для процессора\.
|
||||||
|
|
||||||
|
### Remarks
|
||||||
|
Если процессор выдает [SkipItemException](SkipItemException.md 'Pf2eDataScrapper\.Processors\.SkipItemException'), сообщение об исключении
|
||||||
|
регистрируется как информационный прогресс\. Если выдается [SilentSkipItemException](SilentSkipItemException.md 'Pf2eDataScrapper\.Processors\.SilentSkipItemException'),
|
||||||
|
оно молча игнорируется\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.Settings Property
|
||||||
|
|
||||||
|
Настройки программы\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public Pf2eDataScrapper.ApplicationSettings Settings { get; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[ApplicationSettings](ApplicationSettings.md 'Pf2eDataScrapper\.ApplicationSettings')
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.Start\(\) Method
|
||||||
|
|
||||||
|
Запускает обработку коллекции обработчиков\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public void Start();
|
||||||
|
```
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.StartItem\(\) Method
|
||||||
|
|
||||||
|
Инициирует обработку текущего элемента в коллекции\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
private void StartItem();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Remarks
|
||||||
|
Этот метод извлекает текущий элемент из коллекции, подготавливает связанную
|
||||||
|
фабрику и запускает фоновый обработчик для обработки задач элемента\. Обработка
|
||||||
|
выполняется параллельно, если конфигурация элемента это позволяет, со степенью
|
||||||
|
параллелизма, определяемой настройками приложения\. После завершения обработки метод
|
||||||
|
переходит к следующему шагу рабочего процесса\.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors').[ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor')
|
||||||
|
|
||||||
|
## ProcessorExecutor\.\_currentIndex Field
|
||||||
|
|
||||||
|
Текущий индекс обрабатываемого элемента в коллекции\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
private int _currentIndex;
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Field Value
|
||||||
|
[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#### [Pf2eDataScrapper](index.md 'index')
|
||||||
|
### [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors')
|
||||||
|
|
||||||
|
## ProcessorExecutor Class
|
||||||
|
|
||||||
|
Класс, выполняющий обработку коллекции обработчиков\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
internal sealed class ProcessorExecutor
|
||||||
|
```
|
||||||
|
|
||||||
|
Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ProcessorExecutor
|
||||||
|
|
||||||
|
| Constructors | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [ProcessorExecutor\(ProcessorCollection, ProcessProgress, ApplicationSettings\)](ProcessorExecutor.ProcessorExecutor(ProcessorCollection,ProcessProgress,ApplicationSettings).md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.ProcessorExecutor\(Pf2eDataScrapper\.Processors\.Collection\.ProcessorCollection, Pf2eDataScrapper\.Helpers\.ProcessProgress, Pf2eDataScrapper\.ApplicationSettings\)') | Класс, выполняющий обработку коллекции обработчиков\. |
|
||||||
|
|
||||||
|
| Fields | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [\_currentIndex](ProcessorExecutor._currentIndex.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.\_currentIndex') | Текущий индекс обрабатываемого элемента в коллекции\. |
|
||||||
|
|
||||||
|
| Properties | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [Collection](ProcessorExecutor.Collection.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.Collection') | Класс с коллекцией обработчиков\. |
|
||||||
|
| [CurrentFactory](ProcessorExecutor.CurrentFactory.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.CurrentFactory') | Текущая фабрика процессоров, которая используется для обработки\. |
|
||||||
|
| [Settings](ProcessorExecutor.Settings.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.Settings') | Настройки программы\. |
|
||||||
|
|
||||||
|
| Methods | |
|
||||||
|
| :--- | :--- |
|
||||||
|
| [Continue\(\)](ProcessorExecutor.Continue().md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.Continue\(\)') | Переходит к обработке следующего элемента в коллекции или завершает процесс, если все элементы были обработаны\. |
|
||||||
|
| [IterateProcessors\(\)](ProcessorExecutor.IterateProcessors().md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.IterateProcessors\(\)') | Выполняет итерацию по всем процессорам, предоставленным текущей фабрикой\. |
|
||||||
|
| [RunProcessor\(IProcessor, ParallelLoopState, long\)](ProcessorExecutor.RunProcessor(IProcessor,ParallelLoopState,long).md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.RunProcessor\(Pf2eDataScrapper\.Processors\.Definitions\.IProcessor, System\.Threading\.Tasks\.ParallelLoopState, long\)') | Запускает указанный процессор для выполнения операций обработки и сохранения\. |
|
||||||
|
| [Start\(\)](ProcessorExecutor.Start().md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.Start\(\)') | Запускает обработку коллекции обработчиков\. |
|
||||||
|
| [StartItem\(\)](ProcessorExecutor.StartItem().md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor\.StartItem\(\)') | Инициирует обработку текущего элемента в коллекции\. |
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn](Pf2eDataScrapper.Importers.Implementations.FoundryEn.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn') | Импортёр данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
|
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn](Pf2eDataScrapper.Importers.Implementations.FoundryEn.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn') | Импортёр данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
|
||||||
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium') | Компендиум данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
|
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Compendium') | Компендиум данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
|
||||||
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers') | |
|
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers') | |
|
||||||
|
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors') | |
|
||||||
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation') | Обработчики для подготовки данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
|
| [Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation](Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Preparation.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation') | Обработчики для подготовки данных из модуля [pf2e](https://github.com/foundryvtt/pf2e 'https://github\.com/foundryvtt/pf2e') для FoundryVTT\. |
|
||||||
| [Pf2eDataScrapper\.Importers\.Repositories](Pf2eDataScrapper.Importers.Repositories.md 'Pf2eDataScrapper\.Importers\.Repositories') | Общее описание репозиториев для хранения данных, которые используются в импортёрах и процессорах\. |
|
| [Pf2eDataScrapper\.Importers\.Repositories](Pf2eDataScrapper.Importers.Repositories.md 'Pf2eDataScrapper\.Importers\.Repositories') | Общее описание репозиториев для хранения данных, которые используются в импортёрах и процессорах\. |
|
||||||
| [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors') | Общее описание обработчиков данных\. |
|
| [Pf2eDataScrapper\.Processors](Pf2eDataScrapper.Processors.md 'Pf2eDataScrapper\.Processors') | Общее описание обработчиков данных\. |
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#### [Pf2eModel](index.md 'index')
|
||||||
|
### [Pf2eModel\.Model\.Base](Pf2eModel.Model.Base.md 'Pf2eModel\.Model\.Base').[Entity](Entity.md 'Pf2eModel\.Model\.Base\.Entity')
|
||||||
|
|
||||||
|
## Entity\.IsLegacy Property
|
||||||
|
|
||||||
|
Флаг, указывающий, что сущность является устаревшей\.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public System.Nullable<bool> IsLegacy { get; set; }
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Property Value
|
||||||
|
[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
|
||||||
@@ -19,6 +19,7 @@ Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.
|
|||||||
| [Id](Entity.Id.md 'Pf2eModel\.Model\.Base\.Entity\.Id') | Идентификатор сущности\. |
|
| [Id](Entity.Id.md 'Pf2eModel\.Model\.Base\.Entity\.Id') | Идентификатор сущности\. |
|
||||||
| [Img](Entity.Img.md 'Pf2eModel\.Model\.Base\.Entity\.Img') | Изображение сущности\. |
|
| [Img](Entity.Img.md 'Pf2eModel\.Model\.Base\.Entity\.Img') | Изображение сущности\. |
|
||||||
| [IsChecked](Entity.IsChecked.md 'Pf2eModel\.Model\.Base\.Entity\.IsChecked') | Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи\. |
|
| [IsChecked](Entity.IsChecked.md 'Pf2eModel\.Model\.Base\.Entity\.IsChecked') | Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи\. |
|
||||||
|
| [IsLegacy](Entity.IsLegacy.md 'Pf2eModel\.Model\.Base\.Entity\.IsLegacy') | Флаг, указывающий, что сущность является устаревшей\. |
|
||||||
| [IsTranslated](Entity.IsTranslated.md 'Pf2eModel\.Model\.Base\.Entity\.IsTranslated') | Флаг, указывающий, что у объекта существует перевод\. |
|
| [IsTranslated](Entity.IsTranslated.md 'Pf2eModel\.Model\.Base\.Entity\.IsTranslated') | Флаг, указывающий, что у объекта существует перевод\. |
|
||||||
| [Keywords](Entity.Keywords.md 'Pf2eModel\.Model\.Base\.Entity\.Keywords') | Коллекция ключевых слов, связанных с сущностью\. |
|
| [Keywords](Entity.Keywords.md 'Pf2eModel\.Model\.Base\.Entity\.Keywords') | Коллекция ключевых слов, связанных с сущностью\. |
|
||||||
| [LegacyEntities](Entity.LegacyEntities.md 'Pf2eModel\.Model\.Base\.Entity\.LegacyEntities') | Коллекция устаревших сущностей\. |
|
| [LegacyEntities](Entity.LegacyEntities.md 'Pf2eModel\.Model\.Base\.Entity\.LegacyEntities') | Коллекция устаревших сущностей\. |
|
||||||
|
|||||||
@@ -80,7 +80,13 @@ internal class AonprdBuilderGlobals
|
|||||||
return SlugSuffixes.TryGetValue(id, out string? slug) ? $"-{slug}" : string.Empty;
|
return SlugSuffixes.TryGetValue(id, out string? slug) ? $"-{slug}" : string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Dictionary<string, string> JsonToDictionary(JObject json, string tokenPath)
|
/// <summary>
|
||||||
|
/// Преобразовать JSON-объект в словарь.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="json">Исходный JSON-объект.</param>
|
||||||
|
/// <param name="tokenPath">Путь к токену в JSON.</param>
|
||||||
|
/// <returns>Результирующий словарь.</returns>
|
||||||
|
public static Dictionary<string, string> JsonToDictionary(JObject json, string tokenPath)
|
||||||
{
|
{
|
||||||
return json.SelectToken(tokenPath)?.ToObject<Dictionary<string, string>>() ?? [];
|
return json.SelectToken(tokenPath)?.ToObject<Dictionary<string, string>>() ?? [];
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-3
@@ -63,6 +63,15 @@ internal abstract class AbstractEntityProcessor(
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract IEntity Object { get; }
|
public abstract IEntity Object { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Название сущности, которое будет использоваться для обработки данных.
|
||||||
|
/// </summary>
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get { return _name ??= GetEntityName(); }
|
||||||
|
}
|
||||||
|
private string? _name = null;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление основной сущности в контекст базы данных.
|
/// Добавление основной сущности в контекст базы данных.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -93,7 +102,7 @@ internal abstract class AbstractEntityProcessor(
|
|||||||
{
|
{
|
||||||
if (Globals.MergeSources.ContainsKey(Input.GetRequired<string>("id")))
|
if (Globals.MergeSources.ContainsKey(Input.GetRequired<string>("id")))
|
||||||
{
|
{
|
||||||
throw new SkipItemException(GetEntityName(), "помечено на слияние.");
|
throw new SkipItemException(Name, "помечено на слияние.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,7 +165,7 @@ internal abstract class AbstractEntityProcessor(
|
|||||||
/// Получает имя сущности из входных данных.
|
/// Получает имя сущности из входных данных.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Имя сущности.</returns>
|
/// <returns>Имя сущности.</returns>
|
||||||
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
|
protected virtual string GetEntityName() => Input.GetRequired<string>("name").Replace("’", "'");
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Генерация основных полей корневой сущности.
|
/// Генерация основных полей корневой сущности.
|
||||||
@@ -169,7 +178,7 @@ internal abstract class AbstractEntityProcessor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
Entity.Type = Type;
|
Entity.Type = Type;
|
||||||
Entity.Name[LocaleType.English] = GetEntityName();
|
Entity.Name[LocaleType.English] = Name;
|
||||||
Entity.Img = "";
|
Entity.Img = "";
|
||||||
Entity.Description = GetDescription();
|
Entity.Description = GetDescription();
|
||||||
Entity.Rarity = Input.EnumOptional("rarity", EntityRarity.Common);
|
Entity.Rarity = Input.EnumOptional("rarity", EntityRarity.Common);
|
||||||
|
|||||||
+2
@@ -34,6 +34,8 @@ internal class LegacyRemasterProcessors(ProcessorInput input) : AbstractInputPro
|
|||||||
Context.Entities.FirstOrDefault(e => e.Id == entityId)
|
Context.Entities.FirstOrDefault(e => e.Id == entityId)
|
||||||
?? throw new($"Неизвестная сущность с ID {entityId}");
|
?? throw new($"Неизвестная сущность с ID {entityId}");
|
||||||
|
|
||||||
|
legacyEntity.IsLegacy = true;
|
||||||
|
|
||||||
foreach (int remasterId in GetEntityIds("remaster_id"))
|
foreach (int remasterId in GetEntityIds("remaster_id"))
|
||||||
{
|
{
|
||||||
Context.LegacyRemasters.Add(new() { LegacyId = entityId, RemasterId = remasterId });
|
Context.LegacyRemasters.Add(new() { LegacyId = entityId, RemasterId = remasterId });
|
||||||
|
|||||||
+2
@@ -75,6 +75,8 @@ internal class MissingLegacyRemasterProcessor(string legacyId, string remasterId
|
|||||||
new() { LegacyId = legacyEntity.Id, RemasterId = remasterEntity.Id }
|
new() { LegacyId = legacyEntity.Id, RemasterId = remasterEntity.Id }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
legacyEntity.IsLegacy = true;
|
||||||
|
|
||||||
if (legacyEntity.Slug == remasterEntity.Slug)
|
if (legacyEntity.Slug == remasterEntity.Slug)
|
||||||
{
|
{
|
||||||
legacyEntity.Slug += "-legacy";
|
legacyEntity.Slug += "-legacy";
|
||||||
|
|||||||
+14
-2
@@ -1,4 +1,7 @@
|
|||||||
using System.IO;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using Pf2eDataScrapper.Helpers;
|
using Pf2eDataScrapper.Helpers;
|
||||||
using Pf2eDataScrapper.Importers.Implementations.Aonprd.Compendium;
|
using Pf2eDataScrapper.Importers.Implementations.Aonprd.Compendium;
|
||||||
@@ -51,5 +54,14 @@ internal class CompendiumLoadProcessor(
|
|||||||
Progress.Local.Complete();
|
Progress.Local.Complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Save() { }
|
public void Save()
|
||||||
|
{
|
||||||
|
List<AonprdCompendiumItem> result = Compendium.Items.OrderBy(item => item.Id).ToList();
|
||||||
|
|
||||||
|
Compendium.Items.Clear();
|
||||||
|
foreach (AonprdCompendiumItem item in result)
|
||||||
|
{
|
||||||
|
Compendium.Items.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-3
@@ -1,8 +1,12 @@
|
|||||||
using Pf2eDataScrapper.Helpers;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using Pf2eDataScrapper.Helpers;
|
||||||
using Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers;
|
using Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers;
|
||||||
using Pf2eDataScrapper.Processors;
|
using Pf2eDataScrapper.Processors;
|
||||||
using Pf2eDataScrapper.Processors.Attributes;
|
using Pf2eDataScrapper.Processors.Attributes;
|
||||||
using Pf2eDataScrapper.Processors.Collection;
|
using Pf2eModel.Model.Common.I18n;
|
||||||
using Pf2eModel.Model.Enum;
|
using Pf2eModel.Model.Enum;
|
||||||
using StringHelper = Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
|
using StringHelper = Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
|
||||||
|
|
||||||
@@ -16,7 +20,7 @@ namespace Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.Types;
|
|||||||
Group = ProcessorGroupEnum.AonprdEntities
|
Group = ProcessorGroupEnum.AonprdEntities
|
||||||
)]
|
)]
|
||||||
[ProcessorDependencies(["aonprd:trait", "aonprd:source"])]
|
[ProcessorDependencies(["aonprd:trait", "aonprd:source"])]
|
||||||
internal class ActionProcessor(
|
internal partial class ActionProcessor(
|
||||||
ProcessorInput input,
|
ProcessorInput input,
|
||||||
StringHelper stringHelper,
|
StringHelper stringHelper,
|
||||||
DatabaseHelper helper,
|
DatabaseHelper helper,
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
using System.IO;
|
||||||
using System.Linq;
|
using AngleSharp.Dom;
|
||||||
using System.Text;
|
using Newtonsoft.Json.Linq;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Pf2eModel.Model.Base.Source;
|
|
||||||
using Pf2eModel.Model.Base.Targets;
|
using Pf2eModel.Model.Base.Targets;
|
||||||
|
using Pf2eModel.Model.Structure;
|
||||||
|
|
||||||
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
|
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
|
||||||
|
|
||||||
@@ -17,4 +16,61 @@ internal class FoundryEnGlobals
|
|||||||
/// Цель внешних ссылок для Foundry En.
|
/// Цель внешних ссылок для Foundry En.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ExternalTarget FoundryTarget { get; set; } = null!;
|
public ExternalTarget FoundryTarget { get; set; } = null!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список идентификаторв пропускаемых сущностей.
|
||||||
|
/// </summary>
|
||||||
|
public List<string> Ignore { get; } = [];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Словарей суффиксов для сущностей.
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> SlugSuffixes { get; } = [];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Словарь соответствий идентификаторов Aonprd к Foundry En.
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> MatchToAonprd { get; } = [];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Конструктор класса <see cref="FoundryEnGlobals"/>.
|
||||||
|
/// </summary>
|
||||||
|
public FoundryEnGlobals()
|
||||||
|
{
|
||||||
|
using StreamReader fileReader = new("Resources\\ImportAdaptation.json");
|
||||||
|
|
||||||
|
JObject? json = JObject
|
||||||
|
.Parse(fileReader.ReadToEnd())
|
||||||
|
.SelectToken("Foundry")
|
||||||
|
?.ToObject<JObject>();
|
||||||
|
|
||||||
|
if (json is not null)
|
||||||
|
{
|
||||||
|
Ignore = json.SelectToken("Ignore")?.ToObject<List<string>>() ?? []; // JsonToDictionary(json, "Ignore");
|
||||||
|
|
||||||
|
SlugSuffixes = JsonToDictionary(json, "SlugSuffixes");
|
||||||
|
MatchToAonprd = JsonToDictionary(json, "MatchToAonprd");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить суффикс для ссылки.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id">Идентификатор Aonprd.</param>
|
||||||
|
/// <returns>Суффикс для ссылки или пустая строка.</returns>
|
||||||
|
public string GetSlugSuffix(string id)
|
||||||
|
{
|
||||||
|
return SlugSuffixes.TryGetValue(id, out string? slug) ? $"-{slug}" : string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Преобразовать JSON-объект в словарь.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="json">Исходный JSON-объект.</param>
|
||||||
|
/// <param name="tokenPath">Путь к токену в JSON.</param>
|
||||||
|
/// <returns>Результирующий словарь.</returns>
|
||||||
|
public static Dictionary<string, string> JsonToDictionary(JObject json, string tokenPath)
|
||||||
|
{
|
||||||
|
return json.SelectToken(tokenPath)?.ToObject<Dictionary<string, string>>() ?? [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-4
@@ -1,8 +1,13 @@
|
|||||||
using Pf2eDataScrapper.Helpers;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using Pf2eDataScrapper.Helpers;
|
||||||
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
|
using Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
|
||||||
using Pf2eDataScrapper.Processors;
|
using Pf2eDataScrapper.Processors;
|
||||||
using Pf2eDataScrapper.Processors.Attributes;
|
using Pf2eDataScrapper.Processors.Attributes;
|
||||||
using Pf2eModel;
|
using Pf2eModel;
|
||||||
|
using Pf2eModel.Model.Common.I18n;
|
||||||
using Pf2eModel.Model.Enum;
|
using Pf2eModel.Model.Enum;
|
||||||
|
|
||||||
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entities;
|
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entities;
|
||||||
@@ -16,16 +21,16 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
|
|||||||
Active = false
|
Active = false
|
||||||
)]
|
)]
|
||||||
[ProcessorDependencies(["foundry-en:compendium", "foundry-en:external"])]
|
[ProcessorDependencies(["foundry-en:compendium", "foundry-en:external"])]
|
||||||
internal class ActionProcessor(
|
internal partial class ActionProcessor(
|
||||||
DatabaseHelper databaseHelper,
|
DatabaseHelper databaseHelper,
|
||||||
Pf2eDbContext context,
|
Pf2eDbContext context,
|
||||||
FoundryEnGlobals enGlobals,
|
FoundryEnGlobals globals,
|
||||||
ProcessorInput input
|
ProcessorInput input
|
||||||
)
|
)
|
||||||
: FoundryEnAbstractProcessor<Pf2eModel.Model.Structure.Action>(
|
: FoundryEnAbstractProcessor<Pf2eModel.Model.Structure.Action>(
|
||||||
databaseHelper,
|
databaseHelper,
|
||||||
context,
|
context,
|
||||||
enGlobals,
|
globals,
|
||||||
input
|
input
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -22,9 +22,9 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
|
|||||||
internal class ConditionProcessor(
|
internal class ConditionProcessor(
|
||||||
DatabaseHelper databaseHelper,
|
DatabaseHelper databaseHelper,
|
||||||
Pf2eDbContext context,
|
Pf2eDbContext context,
|
||||||
FoundryEnGlobals enGlobals,
|
FoundryEnGlobals globals,
|
||||||
ProcessorInput input
|
ProcessorInput input
|
||||||
) : FoundryEnAbstractProcessor<Condition>(databaseHelper, context, enGlobals, input)
|
) : FoundryEnAbstractProcessor<Condition>(databaseHelper, context, globals, input)
|
||||||
{
|
{
|
||||||
public override EntityType Type => EntityType.Condition;
|
public override EntityType Type => EntityType.Condition;
|
||||||
|
|
||||||
|
|||||||
+41
-6
@@ -25,12 +25,12 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors;
|
|||||||
/// <typeparam name="TEntity"></typeparam>
|
/// <typeparam name="TEntity"></typeparam>
|
||||||
/// <param name="databaseHelper">[DI] <inheritdoc cref="DatabaseHelper"/></param>
|
/// <param name="databaseHelper">[DI] <inheritdoc cref="DatabaseHelper"/></param>
|
||||||
/// <param name="context">[DI] <inheritdoc cref="Pf2eDbContext"/></param>
|
/// <param name="context">[DI] <inheritdoc cref="Pf2eDbContext"/></param>
|
||||||
/// <param name="enGlobals">[DI] <inheritdoc cref="FoundryEnGlobals"/></param>
|
/// <param name="globals">[DI] <inheritdoc cref="FoundryEnGlobals"/></param>
|
||||||
/// <param name="input">Объект обработки вводимого JSON.</param>
|
/// <param name="input">Объект обработки вводимого JSON.</param>
|
||||||
internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
||||||
DatabaseHelper databaseHelper,
|
DatabaseHelper databaseHelper,
|
||||||
Pf2eDbContext context,
|
Pf2eDbContext context,
|
||||||
FoundryEnGlobals enGlobals,
|
FoundryEnGlobals globals,
|
||||||
ProcessorInput input
|
ProcessorInput input
|
||||||
) : AbstractInputProcessor(input)
|
) : AbstractInputProcessor(input)
|
||||||
where TEntity : class, IEntity
|
where TEntity : class, IEntity
|
||||||
@@ -42,7 +42,7 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
|||||||
public Pf2eDbContext Context { get; } = context;
|
public Pf2eDbContext Context { get; } = context;
|
||||||
|
|
||||||
/// <inheritdoc cref="FoundryEnGlobals"/>
|
/// <inheritdoc cref="FoundryEnGlobals"/>
|
||||||
public FoundryEnGlobals EnGlobals { get; } = enGlobals;
|
public FoundryEnGlobals Globals { get; } = globals;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Тип сущности.
|
/// Тип сущности.
|
||||||
@@ -68,13 +68,46 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
|||||||
$"Сущность {View.SubEntity} некорректного типа, ожидался тип {typeof(TEntity)}."
|
$"Сущность {View.SubEntity} некорректного типа, ожидался тип {typeof(TEntity)}."
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Название сущности, которое будет использоваться для обработки данных.
|
||||||
|
/// </summary>
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get { return _name ??= GetEntityName(); }
|
||||||
|
}
|
||||||
|
private string? _name = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Проверяет входные данные на наличие идентификатора сущности и игнорирует её, если она указана в списке игнорируемых.
|
||||||
|
/// </summary>
|
||||||
|
public virtual void CheckEntity()
|
||||||
|
{
|
||||||
|
string id = Input.GetRequired<string>("id");
|
||||||
|
|
||||||
|
if (Globals.Ignore.Any(s => s == id))
|
||||||
|
{
|
||||||
|
throw new SkipItemException(
|
||||||
|
id,
|
||||||
|
$"Сущность с идентификатором \"{id}\" пропущена, так как она указана в списке игнорируемых."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Разрешает сущность, основываясь на входных данных.
|
/// Разрешает сущность, основываясь на входных данных.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Идентификатор сущности.</returns>
|
/// <returns>Идентификатор сущности.</returns>
|
||||||
public virtual int ResolveEntity()
|
public virtual int ResolveEntity()
|
||||||
{
|
{
|
||||||
string name = GetEntityName();
|
string name = Name;
|
||||||
|
|
||||||
|
if (Globals.MatchToAonprd.TryGetValue(name, out string? aonprdId))
|
||||||
|
{
|
||||||
|
return Context
|
||||||
|
.EntityExternals.Where(ex => ex.ExternalId == aonprdId)
|
||||||
|
.Select(ex => ex.EntityId)
|
||||||
|
.First();
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -126,6 +159,8 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override void Process()
|
public override void Process()
|
||||||
{
|
{
|
||||||
|
CheckEntity();
|
||||||
|
|
||||||
View = new(Context, Type, ResolveEntity());
|
View = new(Context, Type, ResolveEntity());
|
||||||
|
|
||||||
AddExternal();
|
AddExternal();
|
||||||
@@ -138,7 +173,7 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получает имя сущности из входных данных.
|
/// Получить имя сущности из входных данных.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Имя сущности.</returns>
|
/// <returns>Имя сущности.</returns>
|
||||||
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
|
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
|
||||||
@@ -152,7 +187,7 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
|||||||
EntityExternal external = new()
|
EntityExternal external = new()
|
||||||
{
|
{
|
||||||
EntityId = Entity.Id,
|
EntityId = Entity.Id,
|
||||||
TargetId = EnGlobals.FoundryTarget.Id,
|
TargetId = Globals.FoundryTarget.Id,
|
||||||
ExternalId = Input.GetOptional<string>("_id"),
|
ExternalId = Input.GetOptional<string>("_id"),
|
||||||
Suffix = Input.GetRequired<string>("_id"),
|
Suffix = Input.GetRequired<string>("_id"),
|
||||||
Md5 = Input.Md5(),
|
Md5 = Input.Md5(),
|
||||||
|
|||||||
@@ -9,16 +9,30 @@ using Pf2eDataScrapper.Processors.Factory;
|
|||||||
|
|
||||||
namespace Pf2eDataScrapper.Processors;
|
namespace Pf2eDataScrapper.Processors;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Класс, выполняющий обработку коллекции обработчиков.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="collection">[DI] <inheritdoc cref="ProcessorCollection"/></param>
|
||||||
|
/// <param name="progress">[DI] <inheritdoc cref="ProcessProgress"/></param>
|
||||||
|
/// <param name="settings">[DI] <inheritdoc cref="ApplicationSettings"/></param>
|
||||||
internal sealed class ProcessorExecutor(
|
internal sealed class ProcessorExecutor(
|
||||||
ProcessorCollection collection,
|
ProcessorCollection collection,
|
||||||
ProcessProgress progress,
|
ProcessProgress progress,
|
||||||
ApplicationSettings settings
|
ApplicationSettings settings
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
/// <inheritdoc cref="ProcessorCollection"/>
|
||||||
public ProcessorCollection Collection { get; } = collection;
|
public ProcessorCollection Collection { get; } = collection;
|
||||||
|
|
||||||
|
/// <inheritdoc cref="ProcessProgress"/>
|
||||||
public ProcessProgress Progress { get; } = progress;
|
public ProcessProgress Progress { get; } = progress;
|
||||||
|
|
||||||
|
/// <inheritdoc cref="ApplicationSettings"/>
|
||||||
public ApplicationSettings Settings { get; } = settings;
|
public ApplicationSettings Settings { get; } = settings;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Запускает обработку коллекции обработчиков.
|
||||||
|
/// </summary>
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
Collection.SortItems();
|
Collection.SortItems();
|
||||||
@@ -28,10 +42,24 @@ internal sealed class ProcessorExecutor(
|
|||||||
StartItem();
|
StartItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Текущий индекс обрабатываемого элемента в коллекции.
|
||||||
|
/// </summary>
|
||||||
private int _currentIndex;
|
private int _currentIndex;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Текущая фабрика процессоров, которая используется для обработки.
|
||||||
|
/// </summary>
|
||||||
private AbstractProcessorFactory CurrentFactory { get; set; } = null!;
|
private AbstractProcessorFactory CurrentFactory { get; set; } = null!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Инициирует обработку текущего элемента в коллекции.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>Этот метод извлекает текущий элемент из коллекции, подготавливает связанную
|
||||||
|
/// фабрику и запускает фоновый обработчик для обработки задач элемента. Обработка
|
||||||
|
/// выполняется параллельно, если конфигурация элемента это позволяет, со степенью
|
||||||
|
/// параллелизма, определяемой настройками приложения. После завершения обработки метод
|
||||||
|
/// переходит к следующему шагу рабочего процесса.</remarks>
|
||||||
private void StartItem()
|
private void StartItem()
|
||||||
{
|
{
|
||||||
ProcessorRecord item = Collection.Items[_currentIndex];
|
ProcessorRecord item = Collection.Items[_currentIndex];
|
||||||
@@ -58,6 +86,16 @@ internal sealed class ProcessorExecutor(
|
|||||||
worker.RunWorkerAsync();
|
worker.RunWorkerAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Запускает указанный процессор для выполнения операций обработки и сохранения.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>Если процессор выдает <see cref="SkipItemException"/>, сообщение об исключении
|
||||||
|
/// регистрируется как информационный прогресс. Если выдается <see cref="SilentSkipItemException"/>,
|
||||||
|
/// оно молча игнорируется.</remarks>
|
||||||
|
/// <param name="processor">Экземпляр процессора, выполняющий операции обработки и сохранения.</param>
|
||||||
|
/// <param name="state">Экземпляр <see cref="ParallelLoopState"/>, который можно использовать для управления выполнением
|
||||||
|
/// параллельного цикла.</param>
|
||||||
|
/// <param name="arg3">Длинное значение, представляющее текущий индекс итерации или связанные данные для процессора.</param>
|
||||||
private void RunProcessor(IProcessor processor, ParallelLoopState state, long arg3)
|
private void RunProcessor(IProcessor processor, ParallelLoopState state, long arg3)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -75,6 +113,11 @@ internal sealed class ProcessorExecutor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Переходит к обработке следующего элемента в коллекции или завершает процесс, если все элементы были обработаны.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>Этот метод увеличивает текущий индекс и определяет, начинать ли обработку следующего элемента или завершить
|
||||||
|
/// процесс. Если текущий индекс превышает количество элементов в коллекции, процесс помечается как завершенный.</remarks>
|
||||||
private void Continue()
|
private void Continue()
|
||||||
{
|
{
|
||||||
Progress.Processors.End();
|
Progress.Processors.End();
|
||||||
@@ -90,6 +133,14 @@ internal sealed class ProcessorExecutor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Выполняет итерацию по всем процессорам, предоставленным текущей фабрикой.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>Этот метод выдает каждый процессор последовательно, позволяя вызывающему
|
||||||
|
/// обрабатывать их по одному за раз. Отслеживание прогресса обновляется для каждого
|
||||||
|
/// процессора во время итерации.</remarks>
|
||||||
|
/// <returns>Перечисляемая коллекция экземпляров <see cref="IProcessor" />,
|
||||||
|
/// представляющая процессоры, доступные в текущей фабрике.</returns>
|
||||||
private IEnumerable<IProcessor> IterateProcessors()
|
private IEnumerable<IProcessor> IterateProcessors()
|
||||||
{
|
{
|
||||||
Progress.Local.Reset(CurrentFactory.Count());
|
Progress.Local.Reset(CurrentFactory.Count());
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"Aonprd": {
|
"Aonprd": {
|
||||||
"SlugSuffixes": {
|
"SlugSuffixes": {
|
||||||
"feat-455": "initial",
|
|
||||||
"spell-843": "initial",
|
"spell-843": "initial",
|
||||||
|
"feat-455": "initial",
|
||||||
"feat-2664": "archetype",
|
"feat-2664": "archetype",
|
||||||
"feat-3247": "game-hunter",
|
"feat-3247": "game-hunter",
|
||||||
"feat-3477": "undead-slayer",
|
"feat-3477": "undead-slayer",
|
||||||
@@ -24,10 +24,8 @@
|
|||||||
"action-14": "action-2273",
|
"action-14": "action-2273",
|
||||||
"action-15": "action-2275",
|
"action-15": "action-2275",
|
||||||
"action-558": "action-2277",
|
"action-558": "action-2277",
|
||||||
|
|
||||||
"archetype-83": "archetype-129",
|
"archetype-83": "archetype-129",
|
||||||
"archetype-86": "archetype-198",
|
"archetype-86": "archetype-198",
|
||||||
|
|
||||||
"feat-455": "feat-6007",
|
"feat-455": "feat-6007",
|
||||||
"feat-480": "feat-4850",
|
"feat-480": "feat-4850",
|
||||||
"feat-936": "feat-2269",
|
"feat-936": "feat-2269",
|
||||||
@@ -46,11 +44,8 @@
|
|||||||
"feat-2993": "feat-4352",
|
"feat-2993": "feat-4352",
|
||||||
"feat-4088": "feat-5491",
|
"feat-4088": "feat-5491",
|
||||||
"feat-5997": "feat-7108",
|
"feat-5997": "feat-7108",
|
||||||
|
|
||||||
"language-91": "language-180",
|
"language-91": "language-180",
|
||||||
|
|
||||||
"ritual-31": "ritual-191",
|
"ritual-31": "ritual-191",
|
||||||
|
|
||||||
"spell-641": "spell-1413",
|
"spell-641": "spell-1413",
|
||||||
"spell-646": "spell-1394",
|
"spell-646": "spell-1394",
|
||||||
"spell-841": "spell-1107",
|
"spell-841": "spell-1107",
|
||||||
@@ -69,7 +64,6 @@
|
|||||||
"feat-1167": "feat-5880",
|
"feat-1167": "feat-5880",
|
||||||
"feat-1169": "feat-5055",
|
"feat-1169": "feat-5055",
|
||||||
"feat-1171": "feat-4858",
|
"feat-1171": "feat-4858",
|
||||||
|
|
||||||
"spell-551": "spell-2003",
|
"spell-551": "spell-2003",
|
||||||
"spell-553": "spell-2012",
|
"spell-553": "spell-2012",
|
||||||
"spell-559": "spell-2417",
|
"spell-559": "spell-2417",
|
||||||
@@ -110,5 +104,39 @@
|
|||||||
"Hellknight Order": "_null",
|
"Hellknight Order": "_null",
|
||||||
"Eidolon": "_null"
|
"Eidolon": "_null"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"Foundry": {
|
||||||
|
"Ignore": [
|
||||||
|
"34E7k2YRcsOU5uyl",
|
||||||
|
"XyfC1zPgSTP01ZUr",
|
||||||
|
"2Kz5whXqnRsL4fEl",
|
||||||
|
"QW2gYIKce3W31xXf",
|
||||||
|
"Vt6CuD83hPiyoiOZ"
|
||||||
|
],
|
||||||
|
"MatchToAonprd": {
|
||||||
|
"3ZzoI9MTtJFd1Kjl": "action-759",
|
||||||
|
"Vr3w3t028ZKDg0mO": "action-767",
|
||||||
|
"Xg57qG1rOfSSobke": "action-560",
|
||||||
|
"IL8wtCi23ch62zXG": "action-1425",
|
||||||
|
"xJEkXFJgEfEida27": "action-464",
|
||||||
|
"IQtb58p4EaeUzTN1": "action-2807",
|
||||||
|
"EAP98XaChJEbgKcK": "action-5"
|
||||||
|
},
|
||||||
|
"SlugSuffixes": {
|
||||||
|
"4AN6IgzsbhjCPYIZ": "zombie",
|
||||||
|
"08egiRxOvMX97XTc": "werecreature",
|
||||||
|
"DWku0nZzkqmYjrQ5": "nosferatu",
|
||||||
|
"eXleBXdAemiEoHA8": "nymph-queen",
|
||||||
|
"hEWAzlIoJg3NzA7Q": "spring-heeled-jack",
|
||||||
|
"mEbrInCpag7YThH2": "dragon",
|
||||||
|
"sECjzfaYaW68vbLV": "vrykolakas-master",
|
||||||
|
"ZMTnwyXjyfy7Ryi6": "true-vampire",
|
||||||
|
"eQM5hQ1W3d1uen97": "monster-core",
|
||||||
|
"3Pr6Jk6AobttQRqN": "age-of-ashes",
|
||||||
|
"W7SbTykXrNwxDzJc": "npc",
|
||||||
|
"MAC97gjFcdiqLyhp": "skeleton",
|
||||||
|
"XTDd73QzhETeXY3g": "age-of-ashes",
|
||||||
|
"0K3vhX14UEPftqu8": "ghost"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -70,16 +70,23 @@ public class Entity
|
|||||||
/// Флаг, указывающий, что у объекта существует перевод.
|
/// Флаг, указывающий, что у объекта существует перевод.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(Order = 8)]
|
[Column(Order = 8)]
|
||||||
[Comment("Флаг, указывающий, что у сущности существует перевод")]
|
[Comment("Есть перевод?")]
|
||||||
public bool? IsTranslated { get; set; } = false;
|
public bool? IsTranslated { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи.
|
/// Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(Order = 9)]
|
[Column(Order = 9)]
|
||||||
[Comment("Флаг, указывающий, что сущность был проверен и не требует автоматической перезаписи")]
|
[Comment("Проверено?")]
|
||||||
public bool? IsChecked { get; set; } = false;
|
public bool? IsChecked { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Флаг, указывающий, что сущность является устаревшей.
|
||||||
|
/// </summary>
|
||||||
|
[Column(Order = 10)]
|
||||||
|
[Comment("Устаревшая?")]
|
||||||
|
public bool? IsLegacy { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Коллекция алиасов
|
/// Коллекция алиасов
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user