pluto/handler/sinks/__init__.py

41 lines
1.2 KiB
Python

# Other library imports
# import requests
# from json import dumps
# Project imports
# from settings import settings
import sinks.fidor
import sinks.nordigen
import sinks.truelayer
import util
from db import r
class Sinks(util.Base):
"""
Class to manage calls to various sinks.
"""
def __init__(self):
super().__init__()
self.fidor = sinks.fidor.Fidor()
self.nordigen = sinks.nordigen.Nordigen()
self.truelayer = sinks.truelayer.TrueLayer(self)
# setattr(self.truelayer, "sinks", self)
def got_transactions(self, bank, account_id, transactions):
print("GOT transactions", bank, account_id, transactions)
transaction_ids = [x["transaction_id"] for x in transactions]
print("IDS", transaction_ids)
new_key_name = f"new.transactions.{bank}.{account_id}"
old_key_name = f"transactions.{bank}.{account_id}"
r.sset(new_key_name, transaction_ids)
difference = r.sdiff(new_key_name, old_key_name)
print("difference", difference)
# Rename the new key to the old key so we can run the diff again
r.rename(new_key_name, old_key_name)
# self.transactions.transaction(transactions)