Files
Pf2eDataScrapper/Pf2e/Scrapper/ApplicationSettings.cs
T

85 lines
2.6 KiB
C#

using System;
using System.ComponentModel;
using System.IO;
using dotenv.net;
using dotenv.net.Utilities;
namespace Pf2e.Scrapper;
/// <summary>
/// Настройки программы.
/// </summary>
public class ApplicationSettings
{
/// <summary>
/// Конструктор класса <see cref="ApplicationSettings"/>.
/// </summary>
public ApplicationSettings()
{
DotEnv.Load();
DataDirPath = EnvReader.GetStringValue("DATA_DIR");
OutputDirPath = EnvReader.GetStringValue("OUTPUT_DIR");
DatabaseConnection = EnvReader.GetStringValue("DATABASE_CONNECTION");
MaxThreads = Convert.ToInt32(EnvReader.GetStringValue("MAX_THREADS"));
}
#region Настройки из .env
/// <summary>
/// Путь к папке с входными данными.
/// </summary>
[Browsable(true)]
[ReadOnly(true)]
[DisplayName("Путь к папке с входными данными.")]
[Description("Редактирование через .env-файл.")]
public string DataDirPath { get; }
/// <summary>
/// Папка в входными данными.
/// </summary>
[Browsable(false)]
public DirectoryInfo DataDir => new(DataDirPath);
/// <summary>
/// Путь к папке для сохранения результатов.
/// </summary>
[Browsable(true)]
[ReadOnly(true)]
[DisplayName("Путь к папке для сохранения результатов.")]
[Description("Редактирование через .env-файл.")]
public string OutputDirPath { get; }
/// <summary>
/// Папка для сохранения результатов.
/// </summary>
[Browsable(false)]
public string OutputDir => new(OutputDirPath);
/// <summary>
/// Строка подключения к базе данных.
/// </summary>
[Browsable(true)]
[ReadOnly(true)]
[DisplayName("Строка подключения к базе данных.")]
[Description("Редактирование через .env-файл.")]
public string DatabaseConnection { get; }
/// <summary>
/// Максимальное количество потоков.
/// </summary>
[Browsable(true)]
[ReadOnly(true)]
[DisplayName("Максимальное количество потоков.")]
[Description("Редактирование через .env-файл.")]
public int MaxThreads { get; }
#endregion
#region Основные настройки
//
#endregion
}