Ingest comdirect #5

Merged
mathias2784 merged 31 commits from ingest-comdirect into master 2026-09-13 20:27:16 +00:00
3 changed files with 60 additions and 13 deletions
Showing only changes of commit 46bdd5e68c - Show all commits
+19 -1
View File
@@ -61,7 +61,25 @@ type CsV2DictMulti = dict[str, Csv2Dict]
class ExportBaseModel(BaseModel): class ExportBaseModel(BaseModel):
pass
@classmethod
def _my_name(cls):
return cls.__name__
def parameters_to_dict(self) -> dict[str, str]:
return {}
def parameters_to_str(self):
parameters = ", ".join(
f"{key}='{value}'" for key, value in self.parameters_to_dict().items()
)
return parameters
def __repr__(self):
return f"{self._my_name()}({self.parameters_to_str()})"
def __str__(self):
return f"{self._my_name()}({self.parameters_to_str()})"
class BaseModelDb(DeclarativeBase): class BaseModelDb(DeclarativeBase):
-12
View File
@@ -56,18 +56,6 @@ class B4wExport(ExportBaseModel):
"Notes": f"{self.notes}", "Notes": f"{self.notes}",
} }
def parameters_to_str(self):
parameters = ", ".join(
f"{key}='{value}'" for key, value in self.parameters_to_dict().items()
)
return parameters
def __repr__(self):
return f"B4wExport({self.parameters_to_str()})"
def __str__(self):
return f"B4wExport({self.parameters_to_str()})"
@computed_field @computed_field
@property @property
def hash_id(self) -> str: def hash_id(self) -> str:
+41
View File
@@ -10,6 +10,7 @@ from src.models._common import (
_hash, _hash,
_parse_date_german, _parse_date_german,
_parse_decimal_german, _parse_decimal_german,
date2str,
) )
@@ -29,6 +30,14 @@ class ComdirectBase(ExportBaseModel):
def parse_amount(cls, decimal_str: str) -> Decimal: def parse_amount(cls, decimal_str: str) -> Decimal:
return _parse_decimal_german(decimal_str) return _parse_decimal_german(decimal_str)
def parameters_to_dict(self) -> dict[str, str]: ...
def parameters_to_str(self, sep=", ", str_qualifier=False): ...
def __repr__(self): ...
def __str__(self): ...
class ComdirectGiro(ComdirectBase): class ComdirectGiro(ComdirectBase):
# # Fields from parents: # # Fields from parents:
@@ -50,6 +59,22 @@ class ComdirectGiro(ComdirectBase):
def parse_date_book(cls, date_str: str) -> date | None: def parse_date_book(cls, date_str: str) -> date | None:
return _parse_date_german(date_str) return _parse_date_german(date_str)
def parameters_to_dict(self) -> dict[str, str]:
return {
"Buchungstag": date2str(
self.date_book, default="--", date_format="%d.%m.%Y"
),
"Vorgang": self.type,
"Text": self.text,
}
def parameters_to_str(self, sep=", ", str_qualifier=False):
...
def __repr__(self): ...
def __str__(self): ...
class ComdirectCreditCard(ComdirectGiro): class ComdirectCreditCard(ComdirectGiro):
# # Fields from parents: # # Fields from parents:
@@ -71,6 +96,14 @@ class ComdirectCreditCard(ComdirectGiro):
alias="Umsatz in EUR", examples=["32,43"], default=None alias="Umsatz in EUR", examples=["32,43"], default=None
) )
def parameters_to_dict(self) -> dict[str, str]: ...
def parameters_to_str(self, sep=", ", str_qualifier=False): ...
def __repr__(self): ...
def __str__(self): ...
class ComdirectDepot(ComdirectBase): class ComdirectDepot(ComdirectBase):
# # Fields from parents: # # Fields from parents:
@@ -88,6 +121,14 @@ class ComdirectDepot(ComdirectBase):
def parse_decimals(cls, decimal_in: str) -> Decimal: def parse_decimals(cls, decimal_in: str) -> Decimal:
return _parse_decimal_german(decimal_in) return _parse_decimal_german(decimal_in)
def parameters_to_dict(self) -> dict[str, str]: ...
def parameters_to_str(self, sep=", ", str_qualifier=False): ...
def __repr__(self): ...
def __str__(self): ...
class ComdirectBaseDb(IngestdbBase): class ComdirectBaseDb(IngestdbBase):
__abstract__ = True __abstract__ = True