now have a calc_future_totals func that is used to allow html to show the bills as a simple annualised cost per year
This commit is contained in:
17
bills.py
17
bills.py
@@ -329,6 +329,7 @@ def process_bill_data(bd, bt, bf):
|
|||||||
continue
|
continue
|
||||||
add_missing_bills_for_yr( bill_type, bill_info, yr )
|
add_missing_bills_for_yr( bill_type, bill_info, yr )
|
||||||
derive_ann_growth( bill_type, bill_info )
|
derive_ann_growth( bill_type, bill_info )
|
||||||
|
return bill_info
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# add_missing_bills_for_yr -- wrapper to call right func based on bill freq
|
# add_missing_bills_for_yr -- wrapper to call right func based on bill freq
|
||||||
@@ -444,3 +445,19 @@ def derive_ann_growth( bill_type, bill_info ):
|
|||||||
else:
|
else:
|
||||||
# failsafe (just in case fill bills failed to add enough bills to average out)
|
# failsafe (just in case fill bills failed to add enough bills to average out)
|
||||||
print( f"{bill_type}: Unable to calculate growth!" )
|
print( f"{bill_type}: Unable to calculate growth!" )
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# just go through this year to END_YEAR, total any bills for each year up
|
||||||
|
# so we can display the annual estimated bills onwards...
|
||||||
|
################################################################################
|
||||||
|
def calc_future_totals(bill_info, bill_types):
|
||||||
|
total={}
|
||||||
|
now_yr = datetime.date.today().year
|
||||||
|
for bt in bill_types:
|
||||||
|
total[bt['id']]={}
|
||||||
|
for yr in range( now_yr, END_YEAR+1):
|
||||||
|
total[bt['id']][yr]=0
|
||||||
|
if bt['id'] in bill_info and yr in bill_info[bt['id']]['year']:
|
||||||
|
for b in bill_info[bt['id']]['year'][yr]:
|
||||||
|
total[bt['id']][yr] += b['amount']
|
||||||
|
return total
|
||||||
|
|||||||
Reference in New Issue
Block a user