diff --git a/pfbudget/__main__.py b/pfbudget/__main__.py index a3fe169..19e1f42 100644 --- a/pfbudget/__main__.py +++ b/pfbudget/__main__.py @@ -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 = [ diff --git a/pfbudget/cli/argparser.py b/pfbudget/cli/argparser.py index e60cbfa..74de893 100644 --- a/pfbudget/cli/argparser.py +++ b/pfbudget/cli/argparser.py @@ -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) diff --git a/pfbudget/common/types.py b/pfbudget/common/types.py index d999009..7f50ef5 100644 --- a/pfbudget/common/types.py +++ b/pfbudget/common/types.py @@ -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() diff --git a/pfbudget/core/manager.py b/pfbudget/core/manager.py index cf9f7c1..22beb05 100644 --- a/pfbudget/core/manager.py +++ b/pfbudget/core/manager.py @@ -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 diff --git a/pfbudget/extract/nordigen.py b/pfbudget/extract/psd2.py similarity index 99% rename from pfbudget/extract/nordigen.py rename to pfbudget/extract/psd2.py index b3fea48..f1ac23a 100644 --- a/pfbudget/extract/nordigen.py +++ b/pfbudget/extract/psd2.py @@ -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):