From 4196c067e74800a5e832cd34a689fa0d5f6f6a50 Mon Sep 17 00:00:00 2001 From: Erik Mackdanz Date: Thu, 15 Mar 2018 22:04:07 -0500 Subject: [PATCH] Amortize one payment to function --- amortize.py | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/amortize.py b/amortize.py index d2cf124..ff88d6e 100644 --- a/amortize.py +++ b/amortize.py @@ -73,26 +73,33 @@ def amortize_to_end(last_pay_date, return payments -p = amortize_to_end(date(2017,12,16), - 14219.26, - [(12,500.00),(28,200.00)], - 0.0525/365.0) -# print(p) - import ledger -j = ledger.read_journal("ledger") -lbal = 0 -payment_date = None -for post in j.query("reg Liabilities:Hyundai"): - lbal += post.amount - payment_date = post.xact.date - # print("Posting {}".format(post.amount)) +def last_payment_balance(account): + j = ledger.read_journal("ledger") + lbal = 0 + payment_date = None + for post in j.query("reg {}".format(account)): + lbal += post.amount + payment_date = post.xact.date + # print("Posting {}".format(post.amount)) -print("balance was {} on {}".format(lbal,payment_date)) -print(dir(lbal)) -p = amortize_to_end(payment_date, - -lbal.to_double(), - [(12,500.00),(28,200.00)], + # print("balance was {} on {}".format(lbal,payment_date)) + balance = -lbal.to_double() + return (payment_date,balance) + +(payment_date,balance) = last_payment_balance("Liabilities:Hyundai") +hyundai_payments = amortize_to_end(payment_date, + balance, + [(16,464.83)], + 0.0525/365.0) +print(hyundai_payments) + +ledger.session.close_journal_files() + +(payment_date,balance) = last_payment_balance("Liabilities:Auto") +colorado_payments = amortize_to_end(payment_date, + balance, + [(19,565.76)], 0.0525/365.0) -print(p) +print(colorado_payments) -- 2.52.0