Набор мелких измнений за месяц
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 | |
|
||||
| :--- | :--- |
|
||||
| [Context](AbstractEntityProcessor.Context.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Context') | Предоставляет механизм для освобождения неуправляемых ресурсов\. |
|
||||
| [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') | Основная сущность\. |
|
||||
| [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\(\)') | Проверки необходимости импорта сущности\. |
|
||||
| [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\(\)') | Сгенерировать описание сущности\. |
|
||||
| [GetEntityName\(\)](AbstractEntityProcessor.GetEntityName().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GetEntityName\(\)') | Получает имя сущности из входных данных\. |
|
||||
| [Process\(\)](AbstractEntityProcessor.Process().md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Process\(\)') | Основной метод обработки данных\. |
|
||||
| [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
|
||||
↳ [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2eDataScrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
|
||||
↳ [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')
|
||||
|
||||
|
||||
+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 | |
|
||||
| :--- | :--- |
|
||||
| [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
|
||||
|
||||
| Constructors | |
|
||||
| :--- | :--- |
|
||||
| [FoundryEnGlobals\(\)](FoundryEnGlobals.FoundryEnGlobals().md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals\.FoundryEnGlobals\(\)') | Конструктор класса [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2eDataScrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')\. |
|
||||
|
||||
| Properties | |
|
||||
| :--- | :--- |
|
||||
| [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\>') | Абстрактный класс для разрешения значений перечислений\. |
|
||||
| [LegacyItemException](LegacyItemException.md 'Pf2eDataScrapper\.Processors\.LegacyItemException') | Исключение, показывающее, что обработка сущности пропускается как устаревшая\. |
|
||||
| [ProcessorExecutor](ProcessorExecutor.md 'Pf2eDataScrapper\.Processors\.ProcessorExecutor') | Класс, выполняющий обработку коллекции обработчиков\. |
|
||||
| [ProcessorInput](ProcessorInput.md 'Pf2eDataScrapper\.Processors\.ProcessorInput') | Класс для работы с JSON\-объектом\. |
|
||||
| [ProcessorInput\.InvalidEnumStringException](ProcessorInput.InvalidEnumStringException.md 'Pf2eDataScrapper\.Processors\.ProcessorInput\.InvalidEnumStringException') | Исключение при неверном значении для перечисленния\. |
|
||||
| [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\.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\.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\.Repositories](Pf2eDataScrapper.Importers.Repositories.md 'Pf2eDataScrapper\.Importers\.Repositories') | Общее описание репозиториев для хранения данных, которые используются в импортёрах и процессорах\. |
|
||||
| [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') | Идентификатор сущности\. |
|
||||
| [Img](Entity.Img.md 'Pf2eModel\.Model\.Base\.Entity\.Img') | Изображение сущности\. |
|
||||
| [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') | Флаг, указывающий, что у объекта существует перевод\. |
|
||||
| [Keywords](Entity.Keywords.md 'Pf2eModel\.Model\.Base\.Entity\.Keywords') | Коллекция ключевых слов, связанных с сущностью\. |
|
||||
| [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;
|
||||
}
|
||||
|
||||
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>>() ?? [];
|
||||
}
|
||||
|
||||
+12
-3
@@ -63,6 +63,15 @@ internal abstract class AbstractEntityProcessor(
|
||||
/// </summary>
|
||||
public abstract IEntity Object { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Название сущности, которое будет использоваться для обработки данных.
|
||||
/// </summary>
|
||||
public string Name
|
||||
{
|
||||
get { return _name ??= GetEntityName(); }
|
||||
}
|
||||
private string? _name = null;
|
||||
|
||||
/// <summary>
|
||||
/// Добавление основной сущности в контекст базы данных.
|
||||
/// </summary>
|
||||
@@ -93,7 +102,7 @@ internal abstract class AbstractEntityProcessor(
|
||||
{
|
||||
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>
|
||||
/// <returns>Имя сущности.</returns>
|
||||
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
|
||||
protected virtual string GetEntityName() => Input.GetRequired<string>("name").Replace("’", "'");
|
||||
|
||||
/// <summary>
|
||||
/// Генерация основных полей корневой сущности.
|
||||
@@ -169,7 +178,7 @@ internal abstract class AbstractEntityProcessor(
|
||||
}
|
||||
|
||||
Entity.Type = Type;
|
||||
Entity.Name[LocaleType.English] = GetEntityName();
|
||||
Entity.Name[LocaleType.English] = Name;
|
||||
Entity.Img = "";
|
||||
Entity.Description = GetDescription();
|
||||
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)
|
||||
?? throw new($"Неизвестная сущность с ID {entityId}");
|
||||
|
||||
legacyEntity.IsLegacy = true;
|
||||
|
||||
foreach (int remasterId in GetEntityIds("remaster_id"))
|
||||
{
|
||||
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 }
|
||||
);
|
||||
|
||||
legacyEntity.IsLegacy = true;
|
||||
|
||||
if (legacyEntity.Slug == remasterEntity.Slug)
|
||||
{
|
||||
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 Pf2eDataScrapper.Helpers;
|
||||
using Pf2eDataScrapper.Importers.Implementations.Aonprd.Compendium;
|
||||
@@ -51,5 +54,14 @@ internal class CompendiumLoadProcessor(
|
||||
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.Processors;
|
||||
using Pf2eDataScrapper.Processors.Attributes;
|
||||
using Pf2eDataScrapper.Processors.Collection;
|
||||
using Pf2eModel.Model.Common.I18n;
|
||||
using Pf2eModel.Model.Enum;
|
||||
using StringHelper = Pf2eDataScrapper.Importers.Implementations.Aonprd.Helpers.StringHelper;
|
||||
|
||||
@@ -16,7 +20,7 @@ namespace Pf2eDataScrapper.Importers.Implementations.Aonprd.Processors.Types;
|
||||
Group = ProcessorGroupEnum.AonprdEntities
|
||||
)]
|
||||
[ProcessorDependencies(["aonprd:trait", "aonprd:source"])]
|
||||
internal class ActionProcessor(
|
||||
internal partial class ActionProcessor(
|
||||
ProcessorInput input,
|
||||
StringHelper stringHelper,
|
||||
DatabaseHelper helper,
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Pf2eModel.Model.Base.Source;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using AngleSharp.Dom;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Pf2eModel.Model.Base.Targets;
|
||||
using Pf2eModel.Model.Structure;
|
||||
|
||||
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Helpers;
|
||||
|
||||
@@ -17,4 +16,61 @@ internal class FoundryEnGlobals
|
||||
/// Цель внешних ссылок для Foundry En.
|
||||
/// </summary>
|
||||
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.Processors;
|
||||
using Pf2eDataScrapper.Processors.Attributes;
|
||||
using Pf2eModel;
|
||||
using Pf2eModel.Model.Common.I18n;
|
||||
using Pf2eModel.Model.Enum;
|
||||
|
||||
namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entities;
|
||||
@@ -16,16 +21,16 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
|
||||
Active = false
|
||||
)]
|
||||
[ProcessorDependencies(["foundry-en:compendium", "foundry-en:external"])]
|
||||
internal class ActionProcessor(
|
||||
internal partial class ActionProcessor(
|
||||
DatabaseHelper databaseHelper,
|
||||
Pf2eDbContext context,
|
||||
FoundryEnGlobals enGlobals,
|
||||
FoundryEnGlobals globals,
|
||||
ProcessorInput input
|
||||
)
|
||||
: FoundryEnAbstractProcessor<Pf2eModel.Model.Structure.Action>(
|
||||
databaseHelper,
|
||||
context,
|
||||
enGlobals,
|
||||
globals,
|
||||
input
|
||||
)
|
||||
{
|
||||
|
||||
+2
-2
@@ -22,9 +22,9 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors.Entiti
|
||||
internal class ConditionProcessor(
|
||||
DatabaseHelper databaseHelper,
|
||||
Pf2eDbContext context,
|
||||
FoundryEnGlobals enGlobals,
|
||||
FoundryEnGlobals globals,
|
||||
ProcessorInput input
|
||||
) : FoundryEnAbstractProcessor<Condition>(databaseHelper, context, enGlobals, input)
|
||||
) : FoundryEnAbstractProcessor<Condition>(databaseHelper, context, globals, input)
|
||||
{
|
||||
public override EntityType Type => EntityType.Condition;
|
||||
|
||||
|
||||
+41
-6
@@ -25,12 +25,12 @@ namespace Pf2eDataScrapper.Importers.Implementations.FoundryEn.Processors;
|
||||
/// <typeparam name="TEntity"></typeparam>
|
||||
/// <param name="databaseHelper">[DI] <inheritdoc cref="DatabaseHelper"/></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>
|
||||
internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
||||
DatabaseHelper databaseHelper,
|
||||
Pf2eDbContext context,
|
||||
FoundryEnGlobals enGlobals,
|
||||
FoundryEnGlobals globals,
|
||||
ProcessorInput input
|
||||
) : AbstractInputProcessor(input)
|
||||
where TEntity : class, IEntity
|
||||
@@ -42,7 +42,7 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
||||
public Pf2eDbContext Context { get; } = context;
|
||||
|
||||
/// <inheritdoc cref="FoundryEnGlobals"/>
|
||||
public FoundryEnGlobals EnGlobals { get; } = enGlobals;
|
||||
public FoundryEnGlobals Globals { get; } = globals;
|
||||
|
||||
/// <summary>
|
||||
/// Тип сущности.
|
||||
@@ -68,13 +68,46 @@ internal abstract class FoundryEnAbstractProcessor<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>
|
||||
/// <returns>Идентификатор сущности.</returns>
|
||||
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
|
||||
{
|
||||
@@ -126,6 +159,8 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
||||
/// <inheritdoc/>
|
||||
public override void Process()
|
||||
{
|
||||
CheckEntity();
|
||||
|
||||
View = new(Context, Type, ResolveEntity());
|
||||
|
||||
AddExternal();
|
||||
@@ -138,7 +173,7 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получает имя сущности из входных данных.
|
||||
/// Получить имя сущности из входных данных.
|
||||
/// </summary>
|
||||
/// <returns>Имя сущности.</returns>
|
||||
protected virtual string GetEntityName() => Input.GetRequired<string>("name");
|
||||
@@ -152,7 +187,7 @@ internal abstract class FoundryEnAbstractProcessor<TEntity>(
|
||||
EntityExternal external = new()
|
||||
{
|
||||
EntityId = Entity.Id,
|
||||
TargetId = EnGlobals.FoundryTarget.Id,
|
||||
TargetId = Globals.FoundryTarget.Id,
|
||||
ExternalId = Input.GetOptional<string>("_id"),
|
||||
Suffix = Input.GetRequired<string>("_id"),
|
||||
Md5 = Input.Md5(),
|
||||
|
||||
@@ -9,16 +9,30 @@ using Pf2eDataScrapper.Processors.Factory;
|
||||
|
||||
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(
|
||||
ProcessorCollection collection,
|
||||
ProcessProgress progress,
|
||||
ApplicationSettings settings
|
||||
)
|
||||
{
|
||||
/// <inheritdoc cref="ProcessorCollection"/>
|
||||
public ProcessorCollection Collection { get; } = collection;
|
||||
|
||||
/// <inheritdoc cref="ProcessProgress"/>
|
||||
public ProcessProgress Progress { get; } = progress;
|
||||
|
||||
/// <inheritdoc cref="ApplicationSettings"/>
|
||||
public ApplicationSettings Settings { get; } = settings;
|
||||
|
||||
/// <summary>
|
||||
/// Запускает обработку коллекции обработчиков.
|
||||
/// </summary>
|
||||
public void Start()
|
||||
{
|
||||
Collection.SortItems();
|
||||
@@ -28,10 +42,24 @@ internal sealed class ProcessorExecutor(
|
||||
StartItem();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Текущий индекс обрабатываемого элемента в коллекции.
|
||||
/// </summary>
|
||||
private int _currentIndex;
|
||||
|
||||
/// <summary>
|
||||
/// Текущая фабрика процессоров, которая используется для обработки.
|
||||
/// </summary>
|
||||
private AbstractProcessorFactory CurrentFactory { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Инициирует обработку текущего элемента в коллекции.
|
||||
/// </summary>
|
||||
/// <remarks>Этот метод извлекает текущий элемент из коллекции, подготавливает связанную
|
||||
/// фабрику и запускает фоновый обработчик для обработки задач элемента. Обработка
|
||||
/// выполняется параллельно, если конфигурация элемента это позволяет, со степенью
|
||||
/// параллелизма, определяемой настройками приложения. После завершения обработки метод
|
||||
/// переходит к следующему шагу рабочего процесса.</remarks>
|
||||
private void StartItem()
|
||||
{
|
||||
ProcessorRecord item = Collection.Items[_currentIndex];
|
||||
@@ -58,6 +86,16 @@ internal sealed class ProcessorExecutor(
|
||||
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)
|
||||
{
|
||||
try
|
||||
@@ -75,6 +113,11 @@ internal sealed class ProcessorExecutor(
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Переходит к обработке следующего элемента в коллекции или завершает процесс, если все элементы были обработаны.
|
||||
/// </summary>
|
||||
/// <remarks>Этот метод увеличивает текущий индекс и определяет, начинать ли обработку следующего элемента или завершить
|
||||
/// процесс. Если текущий индекс превышает количество элементов в коллекции, процесс помечается как завершенный.</remarks>
|
||||
private void Continue()
|
||||
{
|
||||
Progress.Processors.End();
|
||||
@@ -90,6 +133,14 @@ internal sealed class ProcessorExecutor(
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Выполняет итерацию по всем процессорам, предоставленным текущей фабрикой.
|
||||
/// </summary>
|
||||
/// <remarks>Этот метод выдает каждый процессор последовательно, позволяя вызывающему
|
||||
/// обрабатывать их по одному за раз. Отслеживание прогресса обновляется для каждого
|
||||
/// процессора во время итерации.</remarks>
|
||||
/// <returns>Перечисляемая коллекция экземпляров <see cref="IProcessor" />,
|
||||
/// представляющая процессоры, доступные в текущей фабрике.</returns>
|
||||
private IEnumerable<IProcessor> IterateProcessors()
|
||||
{
|
||||
Progress.Local.Reset(CurrentFactory.Count());
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"Aonprd": {
|
||||
"SlugSuffixes": {
|
||||
"feat-455": "initial",
|
||||
"spell-843": "initial",
|
||||
"feat-455": "initial",
|
||||
"feat-2664": "archetype",
|
||||
"feat-3247": "game-hunter",
|
||||
"feat-3477": "undead-slayer",
|
||||
@@ -24,10 +24,8 @@
|
||||
"action-14": "action-2273",
|
||||
"action-15": "action-2275",
|
||||
"action-558": "action-2277",
|
||||
|
||||
"archetype-83": "archetype-129",
|
||||
"archetype-86": "archetype-198",
|
||||
|
||||
"feat-455": "feat-6007",
|
||||
"feat-480": "feat-4850",
|
||||
"feat-936": "feat-2269",
|
||||
@@ -46,11 +44,8 @@
|
||||
"feat-2993": "feat-4352",
|
||||
"feat-4088": "feat-5491",
|
||||
"feat-5997": "feat-7108",
|
||||
|
||||
"language-91": "language-180",
|
||||
|
||||
"ritual-31": "ritual-191",
|
||||
|
||||
"spell-641": "spell-1413",
|
||||
"spell-646": "spell-1394",
|
||||
"spell-841": "spell-1107",
|
||||
@@ -69,7 +64,6 @@
|
||||
"feat-1167": "feat-5880",
|
||||
"feat-1169": "feat-5055",
|
||||
"feat-1171": "feat-4858",
|
||||
|
||||
"spell-551": "spell-2003",
|
||||
"spell-553": "spell-2012",
|
||||
"spell-559": "spell-2417",
|
||||
@@ -110,5 +104,39 @@
|
||||
"Hellknight Order": "_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>
|
||||
[Column(Order = 8)]
|
||||
[Comment("Флаг, указывающий, что у сущности существует перевод")]
|
||||
[Comment("Есть перевод?")]
|
||||
public bool? IsTranslated { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи.
|
||||
/// </summary>
|
||||
[Column(Order = 9)]
|
||||
[Comment("Флаг, указывающий, что сущность был проверен и не требует автоматической перезаписи")]
|
||||
[Comment("Проверено?")]
|
||||
public bool? IsChecked { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Флаг, указывающий, что сущность является устаревшей.
|
||||
/// </summary>
|
||||
[Column(Order = 10)]
|
||||
[Comment("Устаревшая?")]
|
||||
public bool? IsLegacy { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Коллекция алиасов
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user