ingestion models: less code repetition, more inheritance
This commit is contained in:
@@ -10,6 +10,7 @@ from src.models._common import (
|
||||
_hash,
|
||||
_parse_date_german,
|
||||
_parse_decimal_german,
|
||||
date2str,
|
||||
)
|
||||
|
||||
|
||||
@@ -29,6 +30,14 @@ class ComdirectBase(ExportBaseModel):
|
||||
def parse_amount(cls, decimal_str: str) -> Decimal:
|
||||
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):
|
||||
# # Fields from parents:
|
||||
@@ -50,6 +59,22 @@ class ComdirectGiro(ComdirectBase):
|
||||
def parse_date_book(cls, date_str: str) -> date | None:
|
||||
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):
|
||||
# # Fields from parents:
|
||||
@@ -71,6 +96,14 @@ class ComdirectCreditCard(ComdirectGiro):
|
||||
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):
|
||||
# # Fields from parents:
|
||||
@@ -88,6 +121,14 @@ class ComdirectDepot(ComdirectBase):
|
||||
def parse_decimals(cls, decimal_in: str) -> Decimal:
|
||||
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):
|
||||
__abstract__ = True
|
||||
|
||||
Reference in New Issue
Block a user