diff --git a/pfbudget/cli/runnable.py b/pfbudget/cli/runnable.py index 4883854..c620fdb 100644 --- a/pfbudget/cli/runnable.py +++ b/pfbudget/cli/runnable.py @@ -168,9 +168,6 @@ def argparser(manager: Manager) -> argparse.ArgumentParser: "--requisition", type=str, nargs=1, help="requisition option help" ) p_register.add_argument("--invert", action="store_true") - p_register.add_argument( - "--description", type=str, nargs="?", help="description option help" - ) p_register.set_defaults(func=lambda args: manager.register(vars(args))) """ diff --git a/pfbudget/core/manager.py b/pfbudget/core/manager.py index f41013b..77d0dc8 100644 --- a/pfbudget/core/manager.py +++ b/pfbudget/core/manager.py @@ -14,20 +14,9 @@ class Manager: client.init() def register(self, args: dict): - print(args) + bank = Bank(args["bank"][0], "", args["requisition"][0], args["invert"]) client = DatabaseClient(self.__db) - client.register_bank( - Bank( - ( - args["bank"][0], - args["requisition"][0] - if args["requisition"] - else args["requisition"], - args["invert"], - args["description"], - ) - ) - ) + client.register_bank(convert(bank)) def unregister(self, args: dict): client = DatabaseClient(self.__db) diff --git a/pfbudget/db/client.py b/pfbudget/db/client.py index 98e14df..c122126 100644 --- a/pfbudget/db/client.py +++ b/pfbudget/db/client.py @@ -190,12 +190,12 @@ class DatabaseClient: """Banks table methods""" - def register_bank(self, bank: Q.Bank): - logger.info(f"Registering bank {bank[0]} with req_id={bank[1]}") - self.__execute(Q.ADD_BANK, (bank[0], bank[1], bank[2], bank[3])) + def register_bank(self, bank: Q.DbBank): + logger.info(f"Registering {bank}") + self.__execute(Q.ADD_BANK, bank.tuple()) def unregister_bank(self, bank: str): - logger.info(f"Unregistering bank {bank}") + logger.info(f"Unregistering {bank}") self.__execute(Q.DELETE_BANK, (bank,)) def get_bank(self, key: str, value: str) -> Q.DbBank | None: diff --git a/pfbudget/db/schema.py b/pfbudget/db/schema.py index a471624..78909d0 100644 --- a/pfbudget/db/schema.py +++ b/pfbudget/db/schema.py @@ -66,6 +66,16 @@ class DbBank: requisition_id: str invert: bool + def tuple(self): + return ( + self.name, + self.bic, + self.nordigen_id, + self.nordigen_name, + self.requisition_id, + int(self.invert), + ) + DbBanks = list[DbBank] @@ -130,7 +140,7 @@ ORDER BY date ASC """ ADD_BANK = """ -INSERT INTO banks (name, requisition, invert, description) values (?,?,?,?) +INSERT INTO banks (name, bic, nordigen_id, nordigen_name, requisition_id, invert) values (?,?,?,?,?,?) """ DELETE_BANK = """ diff --git a/pfbudget/utils/converters.py b/pfbudget/utils/converters.py index 6c78c4f..3622e49 100644 --- a/pfbudget/utils/converters.py +++ b/pfbudget/utils/converters.py @@ -26,8 +26,12 @@ def _(db: DbTransaction) -> Transaction: @convert.register def _(db: DbBank, key: str = "") -> Bank: - bank = Bank(db.name, db.bic, db.requisition_id, db.invert, key=key) - return bank + return Bank(db.name, db.bic, db.requisition_id, db.invert, key=key) + + +@convert.register +def _(bank: Bank, key: str = "") -> DbBank: + return DbBank(bank.name, bank.bic, "", "", bank.requisition_id, bank.invert) @convert.register