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()