70 lines
2.1 KiB
C#
70 lines
2.1 KiB
C#
using Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.DataBuilder;
|
|
using Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry.SchemaBuilder;
|
|
|
|
namespace Pf2eDataScrapper.Importers.Implementations.Pf2eFoundry
|
|
{
|
|
/// <summary>
|
|
/// Импортёр для модуля Pf2e FoundryVTT.
|
|
/// </summary>
|
|
internal class Pf2EFoundryImporter : AbstractImporter
|
|
{
|
|
/// <summary>
|
|
/// Отображаемое имя импортёра.
|
|
/// </summary>
|
|
public override string Name => "Pf2e FoundryVTT module";
|
|
|
|
/// <summary>
|
|
/// Короткое имя импортёра.
|
|
/// </summary>
|
|
public override string Slug => "pf2e";
|
|
|
|
/// <summary>
|
|
/// Ссылка на git-репозиторий для клонирования.
|
|
/// </summary>
|
|
public override string GitUrl => "https://github.com/foundryvtt/pf2e.git";
|
|
|
|
/// <summary>
|
|
/// Загрузчик данных компендиума.
|
|
/// </summary>
|
|
public CompendiumLoader Loader { get; }
|
|
|
|
/// <summary>
|
|
/// Конструктор импортёра.
|
|
/// </summary>
|
|
public Pf2EFoundryImporter()
|
|
{
|
|
Loader = new CompendiumLoader(this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Метод подготовки данных для импорта.
|
|
/// </summary>
|
|
public override void Prepare()
|
|
{
|
|
Loader.Prepare();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Импорт данных.
|
|
/// </summary>
|
|
public override void Import()
|
|
{
|
|
var builder = new PF2eFoundryDataBuilder(Loader);
|
|
|
|
builder.TruncateTables();
|
|
builder.Build();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Построение схем данных
|
|
/// </summary>
|
|
public override void BuildSchemas()
|
|
{
|
|
var builder = new CompendiumSchemaBuilder(Loader);
|
|
|
|
builder.BuildSchemas();
|
|
builder.Save(EnvSettings.OutputDir);
|
|
}
|
|
}
|
|
}
|