Rename Nordigen to PSD2

This commit is contained in:
Luís Murta 2023-04-13 18:55:33 +01:00
parent 26cf921a6f
commit 184628dcfc
Signed by: satprog
GPG Key ID: 169EF1BBD7049F94
5 changed files with 37 additions and 28 deletions

View File

@ -83,7 +83,7 @@ if __name__ == "__main__":
assert len(args["bank"]) > 0, "argparser ill defined"
params = args["bank"]
case Operation.NordigenAdd:
case Operation.PSD2Add:
keys = {"bank", "bank_id", "requisition_id", "invert"}
assert args.keys() >= keys, f"missing {args.keys() - keys}"
@ -96,7 +96,7 @@ if __name__ == "__main__":
)
]
case Operation.NordigenMod:
case Operation.PSD2Mod:
keys = {"bank", "bank_id", "requisition_id", "invert", "remove"}
assert args.keys() >= keys, f"missing {args.keys() - keys}"
@ -110,11 +110,11 @@ if __name__ == "__main__":
params = [param]
case Operation.NordigenDel:
case Operation.PSD2Del:
assert len(args["bank"]) > 0, "argparser ill defined"
params = args["bank"]
case Operation.NordigenCountryBanks:
case Operation.PSD2CountryBanks:
keys = {"country"}
assert args.keys() >= keys, f"missing {args.keys() - keys}"
@ -149,7 +149,16 @@ if __name__ == "__main__":
]
case Operation.RuleAdd:
keys = {"category", "start", "end", "description", "regex", "bank", "min", "max"}
keys = {
"category",
"start",
"end",
"description",
"regex",
"bank",
"min",
"max",
}
assert args.keys() >= keys, f"missing {args.keys() - keys}"
params = [

View File

@ -126,16 +126,16 @@ def argparser() -> argparse.ArgumentParser:
# Banks
bank(subparsers.add_parser("bank"))
# Nordigen access token
# PSD2 access token
subparsers.add_parser("token").set_defaults(op=Operation.Token)
# Nordigen requisition id
# PSD2 requisition id
requisition = subparsers.add_parser("eua")
requisition.set_defaults(op=Operation.RequisitionId)
requisition.add_argument("id", nargs=1, type=str)
requisition.add_argument("country", nargs=1, type=str)
# Download through the Nordigen API
# Download through the PSD2 API
download = subparsers.add_parser("download", parents=[period])
download.set_defaults(op=Operation.Download)
download_banks = download.add_mutually_exclusive_group()
@ -145,7 +145,7 @@ def argparser() -> argparse.ArgumentParser:
# List available banks in country C
banks = subparsers.add_parser("banks")
banks.set_defaults(op=Operation.NordigenCountryBanks)
banks.set_defaults(op=Operation.PSD2CountryBanks)
banks.add_argument("country", nargs=1, type=str)
# Categories
@ -214,7 +214,7 @@ def bank(parser: argparse.ArgumentParser):
mod.add_argument("--type", nargs=1, type=str, choices=[e.name for e in AccountType])
mod.add_argument("--remove", nargs="*", default=[], type=str)
nordigen(commands.add_parser("nordigen"))
psd2(commands.add_parser("psd2"))
export = commands.add_parser("export")
export.set_defaults(op=Operation.ExportBanks)
@ -225,22 +225,22 @@ def bank(parser: argparse.ArgumentParser):
file_options(pimport)
def nordigen(parser: argparse.ArgumentParser):
def psd2(parser: argparse.ArgumentParser):
commands = parser.add_subparsers(required=True)
add = commands.add_parser("add")
add.set_defaults(op=Operation.NordigenAdd)
add.set_defaults(op=Operation.PSD2Add)
add.add_argument("bank", nargs=1, type=str)
add.add_argument("--bank_id", nargs=1, type=str)
add.add_argument("--requisition_id", nargs=1, type=str)
add.add_argument("--invert", action="store_true")
rem = commands.add_parser("del")
rem.set_defaults(op=Operation.NordigenDel)
rem.set_defaults(op=Operation.PSD2Del)
rem.add_argument("bank", nargs="+", type=str)
mod = commands.add_parser("mod")
mod.set_defaults(op=Operation.NordigenMod)
mod.set_defaults(op=Operation.PSD2Mod)
mod.add_argument("bank", nargs=1, type=str)
mod.add_argument("--bank_id", nargs=1, type=str)
mod.add_argument("--requisition_id", nargs=1, type=str)

View File

@ -33,10 +33,10 @@ class Operation(Enum):
BankAdd = auto()
BankMod = auto()
BankDel = auto()
NordigenAdd = auto()
NordigenMod = auto()
NordigenDel = auto()
NordigenCountryBanks = auto()
PSD2Add = auto()
PSD2Mod = auto()
PSD2Del = auto()
PSD2CountryBanks = auto()
Export = auto()
Import = auto()
ExportBanks = auto()

View File

@ -25,7 +25,7 @@ from pfbudget.db.model import (
Transaction,
TransactionCategory,
)
from pfbudget.extract.nordigen import NordigenInput
from pfbudget.extract.psd2 import PSD2Client
from pfbudget.extract.parsers import parse_data
@ -72,7 +72,7 @@ class Manager:
session.add(sorted(transactions))
case Operation.Download:
client = NordigenInput()
client = PSD2Client()
with self.db.session() as session:
if len(params[3]) == 0:
client.banks = session.get(Bank, Bank.nordigen)
@ -103,7 +103,7 @@ class Manager:
with self.db.session() as session:
session.update(Bank, params)
case Operation.NordigenMod:
case Operation.PSD2Mod:
with self.db.session() as session:
session.update(Nordigen, params)
@ -111,26 +111,26 @@ class Manager:
with self.db.session() as session:
session.remove_by_name(Bank, params)
case Operation.NordigenDel:
case Operation.PSD2Del:
with self.db.session() as session:
session.remove_by_name(Nordigen, params)
case Operation.Token:
NordigenInput().token()
PSD2Client().token()
case Operation.RequisitionId:
link, _ = NordigenInput().requisition(params[0], params[1])
link, _ = PSD2Client().requisition(params[0], params[1])
print(f"Opening {link} to request access to {params[0]}")
webbrowser.open(link)
case Operation.NordigenCountryBanks:
banks = NordigenInput().country_banks(params[0])
case Operation.PSD2CountryBanks:
banks = PSD2Client().country_banks(params[0])
print(banks)
case (
Operation.BankAdd
| Operation.CategoryAdd
| Operation.NordigenAdd
| Operation.PSD2Add
| Operation.RuleAdd
| Operation.TagAdd
| Operation.TagRuleAdd

View File

@ -15,7 +15,7 @@ from .extract import Extract
dotenv.load_dotenv()
class NordigenInput(Extract):
class PSD2Client(Extract):
redirect_url = "https://murta.dev"
def __init__(self):