43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import argparse
|
|
from pathlib import Path
|
|
|
|
from src.db import get_session
|
|
from src.ingest.b4w import ingest_b4w
|
|
from src.ingest.comdirect import ingest_comdirect
|
|
from src.models.settings import Account
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(
|
|
description="Eine App um den Überblick über Finanzen zu behalten"
|
|
)
|
|
parser.add_argument(
|
|
"--input_b4w", help="Pfad einer einzulesenden Umsatzdatei (CSV)"
|
|
)
|
|
parser.add_argument(
|
|
"--input_comdirect", help="Pfad einer einzulesenden Umsatzdatei (CSV)"
|
|
)
|
|
args = parser.parse_args()
|
|
|
|
if args.input_b4w:
|
|
with get_session() as session:
|
|
ingest_b4w(Path(args.input_b4w), session)
|
|
if args.input_comdirect:
|
|
import settings
|
|
|
|
giro_account = settings.BANK_ACCOUNTS["comdirect"].get_account("Girokonto")
|
|
assert isinstance(giro_account, Account)
|
|
with get_session() as session:
|
|
ingest_comdirect(
|
|
session,
|
|
Path(args.input_comdirect),
|
|
account_iban=giro_account.iban or "",
|
|
account_currency=(
|
|
giro_account.currency.value if giro_account.currency else ""
|
|
),
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|