prepare other indexing and data processing logic

This commit is contained in:
2026-05-21 17:28:56 +02:00
parent 807d07f28e
commit eba9d523b1
2 changed files with 101 additions and 38 deletions

View File

@@ -1,4 +1,6 @@
# %%
from __future__ import annotations
import dataclasses as dc
import datetime
import enum
@@ -9,19 +11,11 @@ from pprint import pprint
from typing import Any
import babel
from pydantic import BaseModel, model_validator
from pydantic import BaseModel, ConfigDict, model_validator
from PySide6.QtCore import QDate, Qt
# %%
gui_rohdaten = {
"projekt_name": "Mars Rover",
"meilensteine": [
{"titel": "Triebwerk Test", "finanzen__betrag": 5000.0, "finanzen__waehrung": "EUR"},
{"titel": "Software Beta", "finanzen__betrag": 1200.0, "finanzen__waehrung": "EUR"},
],
}
class FlatBaseModel(BaseModel):
@classmethod
def _unflatten_dict(cls, flat_dict: dict) -> dict:
@@ -119,6 +113,15 @@ class FlatBaseModel(BaseModel):
# %%
gui_rohdaten = {
"projekt_name": "Mars Rover",
"meilensteine": [
{"titel": "Triebwerk Test", "finanzen__betrag": 5000.0, "finanzen__waehrung": "EUR"},
{"titel": "Software Beta", "finanzen__betrag": 1200.0, "finanzen__waehrung": "EUR"},
],
}
class BudgetDetails(BaseModel):
betrag: float
waehrung: str = "EUR"
@@ -134,10 +137,52 @@ class ProjektModell(FlatBaseModel):
meilensteine: list[Meilenstein] # <--- Die Liste von Modellen
class Grunderfassung_Unternehmen(FlatBaseModel):
Schulbildung: list[Grunderfassung_Schulbildung]
class Grunderfassung_Schulbildung(BaseModel):
model_config = ConfigDict(str_strip_whitespace=True)
SB_abschluss: str | None
SB_abschlussgrad: str | None
SB_schule: str | None
SB_ort: str | None
SB_land: str | None
SB_abschlussjahr: str | None
SB_bemerkungsfeld: str | None
# %%
list_schulbildung = [
{
"SB_abschluss": None,
"SB_abschlussgrad": None,
"SB_abschlussjahr": None,
"SB_bemerkungsfeld": None,
"SB_land": None,
"SB_ort": None,
"SB_schule": None,
},
{
"SB_abschluss": None,
"SB_abschlussgrad": None,
"SB_abschlussjahr": None,
"SB_bemerkungsfeld": None,
"SB_land": None,
"SB_ort": None,
"SB_schule": None,
},
]
data = {"Schulbildung": list_schulbildung}
Grunderfassung_Unternehmen(**data)
# %%
projekt = ProjektModell(**gui_rohdaten)
# %%
projekt.meilensteine
projekt.to_gui()
# %%
target_dict = {