Download operation moves to Loader interface
to load extracted transactions to database.
This commit is contained in:
parent
13c783ca0e
commit
bdd7cac4be
@ -29,6 +29,7 @@ from pfbudget.db.model import (
|
|||||||
from pfbudget.extract.nordigen import NordigenClient, NordigenCredentialsManager
|
from pfbudget.extract.nordigen import NordigenClient, NordigenCredentialsManager
|
||||||
from pfbudget.extract.parsers import parse_data
|
from pfbudget.extract.parsers import parse_data
|
||||||
from pfbudget.extract.psd2 import PSD2Extractor
|
from pfbudget.extract.psd2 import PSD2Extractor
|
||||||
|
from pfbudget.load.database import DatabaseLoader
|
||||||
from pfbudget.transform.categorizer import Categorizer
|
from pfbudget.transform.categorizer import Categorizer
|
||||||
from pfbudget.transform.nullifier import Nullifier
|
from pfbudget.transform.nullifier import Nullifier
|
||||||
from pfbudget.transform.tagger import Tagger
|
from pfbudget.transform.tagger import Tagger
|
||||||
@ -80,17 +81,19 @@ class Manager:
|
|||||||
else:
|
else:
|
||||||
banks = self.database.select(Bank, Bank.nordigen)
|
banks = self.database.select(Bank, Bank.nordigen)
|
||||||
|
|
||||||
client = Manager.nordigen_client()
|
extractor = PSD2Extractor(Manager.nordigen_client())
|
||||||
extractor = PSD2Extractor(client)
|
|
||||||
transactions = []
|
transactions = []
|
||||||
for bank in banks:
|
for bank in banks:
|
||||||
transactions.extend(extractor.extract(bank, params[0], params[1]))
|
transactions.extend(extractor.extract(bank, params[0], params[1]))
|
||||||
|
|
||||||
# dry-run
|
# dry-run
|
||||||
if not params[2]:
|
if params[2]:
|
||||||
self.database.insert(sorted(transactions))
|
|
||||||
else:
|
|
||||||
print(sorted(transactions))
|
print(sorted(transactions))
|
||||||
|
return
|
||||||
|
|
||||||
|
loader = DatabaseLoader(self.database)
|
||||||
|
loader.load(sorted(transactions))
|
||||||
|
|
||||||
case Operation.Categorize:
|
case Operation.Categorize:
|
||||||
with self.database.session as session:
|
with self.database.session as session:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user