chore: Initial version.

This commit is contained in:
Elisiário Couto
2024-02-18 20:51:10 +00:00
parent 242ec6de5d
commit ec4f59e047
28 changed files with 1984 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
import click
from leggen.main import cli
from leggen.utils.network import get
from leggen.utils.text import datefmt, print_table
@cli.command()
@click.pass_context
def balances(ctx: click.Context):
"""
List balances of all connected accounts
"""
res = get(ctx, "/requisitions/")
accounts = []
for r in res.get("results", []):
accounts += r.get("accounts", [])
all_balances = []
for account in accounts:
account_ballances = get(ctx, f"/accounts/{account}/balances/").get(
"balances", []
)
for balance in account_ballances:
balance_amount = balance["balanceAmount"]
amount = round(float(balance_amount["amount"]), 2)
symbol = (
""
if balance_amount["currency"] == "EUR"
else f" {balance_amount['currency']}"
)
amount_str = f"{amount}{symbol}"
date = (
datefmt(balance.get("lastChangeDateTime"))
if balance.get("lastChangeDateTime")
else ""
)
all_balances.append(
{
"Account": account,
"Amount": amount_str,
"Type": balance["balanceType"],
"Last change at": date,
}
)
print_table(all_balances)