Files
xsl-validator/src/config.py
T

61 lines
1.2 KiB
Python

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]
output_file_extension: str = "pdf"
class SaxonJar(BaseModel):
version: str
path_to_jar_file: Path
output_file_extension: str = "fo"
class ApacheFop(BaseModel):
version: str
path_to_dir: Path
output_file_extension: str = "pdf"
class XslDir(BaseModel):
name: str
path_to_root_dir: Path
class PdfProject(BaseModel):
name: str
project_dir: Path
java_version: str
diff_pdf_version: str
saxon_jar_version: str
apache_fop_version: str
xsl_dir_name: str
default_xslt_params: dict[str, str] = {}
class AppSettings(BaseSettings):
java_vms: list[JavaVm]
diff_pdfs: list[DiffPdf]
saxon_jars: list[SaxonJar]
apache_fops: list[ApacheFop]
pdf_projects: list[PdfProject] = []
class PdfProjectSettings(BaseSettings):
"""
Speichert Projekt-Einstellungen direkt im Ordner des Projekts in einer Klartextdatei (JSON, YAML oder XML)
"""
pass