Files
Pf2eDataScrapper/Pf2eDataScrapper/Importers/Implementations/Pf2eFoundry/Pf2eFoundryImporter.cs
T

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);
}
}
}