Die Struktur für die Konfiguration wurde angelegt.

This commit is contained in:
2025-06-04 20:18:03 +02:00
parent a90acb595c
commit 3499b24040
+43
View File
@@ -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] = []