Skip to content

Commit

Permalink
Use pre-defined environment variables by default
Browse files Browse the repository at this point in the history
  • Loading branch information
axeoman committed Aug 16, 2023
1 parent 19574bf commit 4bf224b
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 18 deletions.
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ build-backend = "setuptools.build_meta"

[tool.black]

[tool.isort]
profile = "black"

[tool.pyright]
include = ["ynab_sync"]
Expand Down
55 changes: 37 additions & 18 deletions ynab_sync/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
import appeal
from tabulate import tabulate

from ynab_sync.constants import (
ENV_GOCARDLESS_ACCOUNT_ID,
ENV_GOCARDLESS_SECRET_ID,
ENV_GOCARDLESS_SECRET_KEY,
ENV_YNAB_ACCOUNT_ID,
ENV_YNAB_BUDGET_ID,
ENV_YNAB_TOKEN,
)

app = appeal.Appeal()

import logging
Expand All @@ -18,23 +27,29 @@
handlers=[logging.StreamHandler(sys.stdout)],
)

from .logic import (create_gocardless_requisition, get_gocardless_banks,
get_gocardless_requisition, get_gocardless_transactions,
get_ynab_budget, get_ynab_budgets,
prepare_ynab_transactions, upload_to_ynab)
from .logic import (
create_gocardless_requisition,
get_gocardless_banks,
get_gocardless_requisition,
get_gocardless_transactions,
get_ynab_budget,
get_ynab_budgets,
prepare_ynab_transactions,
upload_to_ynab,
)


@app.command()
def upload(
*,
ynab_token: str = "",
ynab_budget_id: str = "",
ynab_account_id: str = "",
gocardless_secret_id: str = "",
gocardless_secret_key: str = "",
gocardless_account_id: str = "",
date_from: str = "",
date_to: str = "",
ynab_token: str = os.getenv(ENV_YNAB_TOKEN, ""),
ynab_budget_id: str = os.getenv(ENV_YNAB_BUDGET_ID, ""),
ynab_account_id: str = os.getenv(ENV_YNAB_ACCOUNT_ID, ""),
gocardless_secret_id: str = os.getenv(ENV_GOCARDLESS_SECRET_ID, ""),
gocardless_secret_key: str = os.getenv(ENV_GOCARDLESS_SECRET_KEY, ""),
gocardless_account_id: str = os.getenv(ENV_GOCARDLESS_ACCOUNT_ID, ""),
):
log = logging.getLogger("cli.upload")
# TODO: Get this from appeal?
Expand Down Expand Up @@ -92,7 +107,7 @@ def ynab():
@app.command("ynab").command()
def budgets(
*,
ynab_token: str = "",
ynab_token: str = os.getenv(ENV_YNAB_TOKEN),
):
budgets = get_ynab_budgets(token=ynab_token)

Expand All @@ -105,7 +120,11 @@ def budgets(


@app.command("ynab").command()
def accounts(*, ynab_token: str = "", ynab_budget_id: str = ""):
def accounts(
*,
ynab_token: str = os.getenv(ENV_YNAB_TOKEN),
ynab_budget_id: str = os.getenv(ENV_YNAB_BUDGET_ID),
):
budget = get_ynab_budget(token=ynab_token, budget_id=UUID(ynab_budget_id))

table = tabulate(
Expand Down Expand Up @@ -135,8 +154,8 @@ def gocardless():
def banks(
country: str,
*,
gocardless_secret_id: str = "",
gocardless_secret_key: str = "",
gocardless_secret_id: str = os.getenv(ENV_GOCARDLESS_SECRET_ID, ""),
gocardless_secret_key: str = os.getenv(ENV_GOCARDLESS_SECRET_KEY, ""),
):
banks = get_gocardless_banks(
secret_id=gocardless_secret_id,
Expand All @@ -152,8 +171,8 @@ def banks(
def generate_bank_auth_link(
institution_id: str,
*,
gocardless_secret_id: str = "",
gocardless_secret_key: str = "",
gocardless_secret_id: str = os.getenv(ENV_GOCARDLESS_SECRET_ID, ""),
gocardless_secret_key: str = os.getenv(ENV_GOCARDLESS_SECRET_KEY, ""),
):
requisition = create_gocardless_requisition(
secret_id=gocardless_secret_id,
Expand All @@ -176,8 +195,8 @@ def generate_bank_auth_link(
def list_requisition_accounts(
requisition_id: str,
*,
gocardless_secret_id: str = "",
gocardless_secret_key: str = "",
gocardless_secret_id: str = os.getenv(ENV_GOCARDLESS_SECRET_ID, ""),
gocardless_secret_key: str = os.getenv(ENV_GOCARDLESS_SECRET_KEY, ""),
):
requisition = get_gocardless_requisition(
secret_id=gocardless_secret_id,
Expand Down
6 changes: 6 additions & 0 deletions ynab_sync/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ENV_YNAB_TOKEN = "YNAB_TOKEN"
ENV_YNAB_BUDGET_ID = "YNAB_BUDGET_ID"
ENV_YNAB_ACCOUNT_ID = "YNAB_ACCOUNT_ID"
ENV_GOCARDLESS_SECRET_ID = "GOCARDLESS_SECRET_ID"
ENV_GOCARDLESS_SECRET_KEY = "GOCARDLESS_SECRET_KEY"
ENV_GOCARDLESS_ACCOUNT_ID = "GOCARDLESS_ACCOUNT_ID"

0 comments on commit 4bf224b

Please sign in to comment.