diff --git a/src/config.py b/src/config.py new file mode 100644 index 0000000..27174cf --- /dev/null +++ b/src/config.py @@ -0,0 +1,43 @@ +from pathlib import Path + +from pydantic import BaseModel +from pydantic_settings import BaseSettings # , SettingsConfigDict + + +class JavaVm(BaseModel): + version: str = "" + path_to_binary_file: Path + + +class DiffPdf(BaseModel): + version: str = "" + path_to_binary_file: Path + default_params: list[str] + + +class SaxonJar(BaseModel): + version: str = "" + path_to_jar_file: Path + + +class ApacheFop(BaseModel): + version: str = "" + path_to_dir: Path + + +class Project(BaseSettings): + name: str + project_dir: Path + java_version: str + diff_pdf_version: str + saxon_jar_version: str + apache_fop_version: str + default_params: dict[str, str] = {} + + +class AppSettings(BaseSettings): + java_vms: list[JavaVm] + diff_pdfs: list[DiffPdf] + saxon_jars: list[SaxonJar] + apache_fops: list[ApacheFop] + projects: list[Project] = []