moved some hard-coded dates to top of calc.py for ease of use in multiple functions, but also just for code readability, they are more like constants than variables. Code now works out key_dates for use in dealing with future bills / next steps

This commit is contained in:
2025-09-11 17:52:28 +10:00
parent b69ec82510
commit 4389045ed5
3 changed files with 43 additions and 12 deletions

12
main.py
View File

@@ -1,6 +1,6 @@
# main.py
from flask import Flask, render_template, request, redirect, url_for, Response, jsonify
from calc import calculate_savings_depletion
from calc import calculate_savings_depletion, calc_key_dates
from db import init_db, get_finance_data, update_finance, get_budget_data, insert_cset, get_comp_set_data, get_comp_set_options, get_bill_freqs
from db import get_bill_data, new_bill, update_bill_data, delete_bill
from db import get_bill_ui, save_ui
@@ -145,14 +145,20 @@ def update():
@app.route('/bills')
def DisplayBillData():
finance_data = get_finance_data()
# work out when D quits, when car is owned
key_dates = calc_key_dates( finance_data )
bill_data = get_bill_data("order_by_bill_type_then_date")
bill_types = get_bill_types()
bill_freqs = get_bill_freqs()
bill_ui = get_bill_ui()
bill_info=process_bill_data(bill_data, bill_types, bill_freqs)
# take bill data, AND work out estimated future bills - process this into the bill_info array,
bill_info=process_bill_data(bill_data, bill_types, bill_freqs, key_dates)
# get an array of the total costs of bills each year - purely cosmetic (using bill_info)
total=calc_future_totals(bill_info, bill_types)
# update/re-get bill_data now that new estimated bills have been added
bill_data = get_bill_data("order_by_bill_type_then_date")
return render_template('bills.html', bill_data=bill_data, bill_types=bill_types, bill_freqs=bill_freqs, bill_ui=bill_ui, this_year=datetime.today().year, END_YEAR=END_YEAR, total=total )
return render_template('bills.html', bill_data=bill_data, bill_types=bill_types, bill_freqs=bill_freqs, bill_ui=bill_ui, this_year=datetime.today().year, END_YEAR=END_YEAR, total=total, key_dates=key_dates )
@app.route('/newbilltype', methods=['POST'])
def InsertBillType():