From 3499b24040c269c9588335d8d7e88bc66df3db3f Mon Sep 17 00:00:00 2001 From: Vitali Graf Date: Wed, 4 Jun 2025 20:18:03 +0200 Subject: [PATCH] =?UTF-8?q?Die=20Struktur=20f=C3=BCr=20die=20Konfiguration?= =?UTF-8?q?=20wurde=20angelegt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/config.py 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] = []