Продолжение рефакторинга (вынесение WPF в отдельный проект)

This commit is contained in:
2025-10-02 17:25:48 +04:00
parent 2fa94851cb
commit f5b311e025
161 changed files with 899 additions and 559 deletions
@@ -1,4 +1,5 @@
using System;
using Pf2e.Scrapper.Processors.Attributes.Enum;
namespace Pf2e.Scrapper.Processors.Attributes;
@@ -6,7 +7,7 @@ namespace Pf2e.Scrapper.Processors.Attributes;
/// Абстрактный аттрибут обработчика.
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
internal class AbstractProcessorAttribute(string name) : Attribute
public class AbstractProcessorAttribute(string name) : Attribute
{
/// <summary>
/// Название обработчика.
@@ -0,0 +1,17 @@
namespace Pf2e.Scrapper.Processors.Attributes.Enum;
/// <summary>
/// Перечисление для типов компендиумов обработчиков.
/// </summary>
public enum ProcessorCompendiumEnum
{
/// <summary>
/// Компедиум Архивов Нефиса.
/// </summary>
Aonprd,
/// <summary>
/// Компедиум Foundry EN.
/// </summary>
FoundryEn,
}
@@ -0,0 +1,22 @@
namespace Pf2e.Scrapper.Processors.Attributes.Enum;
/// <summary>
/// Перечисление для типов фабрик обработчиков.
/// </summary>
public enum ProcessorFactoryTypeEnum
{
/// <summary>
/// Простая фабрика одиночного обработчика.
/// </summary>
Simple,
/// <summary>
/// Фабрика для создания обработчиков, которые могут обрабатывать типы данных компедиума.
/// </summary>
Compendium,
/// <summary>
/// Фабрика для создания обработчиков, которые могут обрабатывать итераторы данных.
/// </summary>
Iterator,
}
@@ -1,7 +1,7 @@
using System.ComponentModel;
using System.Reflection;
namespace Pf2e.Scrapper.Processors.Attributes;
namespace Pf2e.Scrapper.Processors.Attributes.Enum;
/// <summary>
/// Перечисление для групп обработчиков.
@@ -50,60 +50,3 @@ public enum ProcessorGroupEnum
[Description("Foundry EN: Основные сущности")]
FoundryEnEntities,
}
/// <summary>
/// Перечисление для типов компендиумов обработчиков.
/// </summary>
public enum ProcessorCompendiumEnum
{
/// <summary>
/// Компедиум Архивов Нефиса.
/// </summary>
Aonprd,
/// <summary>
/// Компедиум Foundry EN.
/// </summary>
FoundryEn,
}
/// <summary>
/// Перечисление для типов фабрик обработчиков.
/// </summary>
public enum ProcessorFactoryTypeEnum
{
/// <summary>
/// Простая фабрика одиночного обработчика.
/// </summary>
Simple,
/// <summary>
/// Фабрика для создания обработчиков, которые могут обрабатывать типы данных компедиума.
/// </summary>
Compendium,
/// <summary>
/// Фабрика для создания обработчиков, которые могут обрабатывать итераторы данных.
/// </summary>
Iterator,
}
/// <summary>
/// Расширение для перечисления <see cref="ProcessorGroupEnum"/>.
/// </summary>
public static class ProcessorGroupEnumExtension
{
/// <summary>
/// Получает описание группы обработчика из атрибута <see cref="DescriptionAttribute"/>.
/// </summary>
/// <param name="group">Перечисление группы обработчика.</param>
/// <returns>Строка с описанием группы обработчика.</returns>
public static string GetDescription(this ProcessorGroupEnum group)
{
return group
.GetType()
.GetField(group.ToString())
?.GetCustomAttribute<DescriptionAttribute>()
?.Description ?? group.ToString();
}
}
@@ -0,0 +1,24 @@
using System.ComponentModel;
using System.Reflection;
namespace Pf2e.Scrapper.Processors.Attributes.Enum;
/// <summary>
/// Расширение для перечисления <see cref="ProcessorGroupEnum"/>.
/// </summary>
public static class ProcessorGroupEnumExtension
{
/// <summary>
/// Получает описание группы обработчика из атрибута <see cref="DescriptionAttribute"/>.
/// </summary>
/// <param name="group">Перечисление группы обработчика.</param>
/// <returns>Строка с описанием группы обработчика.</returns>
public static string GetDescription(this ProcessorGroupEnum group)
{
return group
.GetType()
.GetField(group.ToString())
?.GetCustomAttribute<DescriptionAttribute>()
?.Description ?? group.ToString();
}
}
@@ -7,4 +7,4 @@ namespace Pf2e.Scrapper.Processors.Attributes;
/// </summary>
/// <param name="name">Название обработчика.</param>
[AttributeUsage(AttributeTargets.Class)]
internal class ProcessorAttribute(string name) : AbstractProcessorAttribute(name) { }
public class ProcessorAttribute(string name) : AbstractProcessorAttribute(name) { }
@@ -1,4 +1,5 @@
using System;
using Pf2e.Scrapper.Processors.Attributes.Enum;
namespace Pf2e.Scrapper.Processors.Attributes;
@@ -7,7 +8,7 @@ namespace Pf2e.Scrapper.Processors.Attributes;
/// </summary>
/// <param name="name">Название обработчика.</param>
[AttributeUsage(AttributeTargets.Class)]
internal class ProcessorCollectionAttribute(string name) : AbstractProcessorAttribute(name)
public class ProcessorCollectionAttribute(string name) : AbstractProcessorAttribute(name)
{
/// <summary>
/// Название типов, который обрабатывает этот оброботчик.
@@ -2,7 +2,7 @@
namespace Pf2e.Scrapper.Processors.Attributes;
internal class ProcessorFactoryAttribute(string name) : AbstractProcessorAttribute(name)
public class ProcessorFactoryAttribute(string name) : AbstractProcessorAttribute(name)
{
/// <summary>
/// Тип обрабатывающего процессора