diff --git a/bills.py b/bills.py index 8cf7291..bd7c379 100644 --- a/bills.py +++ b/bills.py @@ -429,17 +429,20 @@ def derive_ann_growth( bill_type, bill_info ): max_growth = growth # data to work with if count: + # strt with 0, set it if we can below + simple_growth=0 if simple_first_yr != simple_last_yr: # calculate a simple growth with full year consecutive totals -> last - first / years simple_growth=( ((total[simple_last_yr]-total[simple_first_yr])/(simple_last_yr-simple_first_yr)) / total[simple_first_yr] )*100.0 else: # calculate a simple growth based on last - first / years - only 1 consecutive year I guess, so can't use it, use real first/last - if bill_info[bill_type]['first_bill_year'] != bill_info[bill_type]['last_real_bill_year']: + if bill_info[bill_type]['first_bill_year'] != bill_info[bill_type]['last_real_bill_year'] and bill_info[bill_type]['first_bill_year'] in total and bill_info[bill_type]['last_real_bill_year'] in total: simple_growth=( ((total[bill_info[bill_type]['last_real_bill_year']]-total[bill_info[bill_type]['first_bill_year']])/(bill_info[bill_type]['last_real_bill_year']-bill_info[bill_type]['first_bill_year'])) / total[bill_info[bill_type]['first_bill_year']] )*100.0 set_bill_type_growth( bill_type, min_growth, avg_growth/count, max_growth, simple_growth ) else: # okay use last - first / years to get a simple_growth, just need bills from different years - if bill_info[bill_type]['first_bill_year'] != bill_info[bill_type]['last_real_bill_year']: + # if there are totals for them (may not be set with monthly and < 12 bills in 1st year) + if bill_info[bill_type]['first_bill_year'] != bill_info[bill_type]['last_real_bill_year'] and bill_info[bill_type]['first_bill_year'] in total and bill_info[bill_type]['last_real_bill_year'] in total: simple_growth=( ((total[bill_info[bill_type]['last_real_bill_year']]-total[bill_info[bill_type]['first_bill_year']])/(bill_info[bill_type]['last_real_bill_year']-bill_info[bill_type]['first_bill_year'])) / total[bill_info[bill_type]['first_bill_year']] )*100.0 set_bill_type_growth( bill_type, 0, 0, 0, simple_growth ) else: