From c7559e04703792188a6a9ab501fdc0a7f0f92920 Mon Sep 17 00:00:00 2001 From: "13621160019@163.com" <13621160019@163.com> Date: Tue, 23 Mar 2021 15:42:31 +0800 Subject: [PATCH] fixed NoneType error in SpaceLoad report in API --- myems-api/excelexporters/spaceload.py | 12 ++++++++---- myems-api/reports/spaceload.py | 9 ++++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/myems-api/excelexporters/spaceload.py b/myems-api/excelexporters/spaceload.py index dfaf9e1d..07233d69 100644 --- a/myems-api/excelexporters/spaceload.py +++ b/myems-api/excelexporters/spaceload.py @@ -204,7 +204,8 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d ws[col + str(current_row_number)].font = name_font ws[col + str(current_row_number)].alignment = c_c_alignment ws[col + str(current_row_number)].border = f_border - ws[col + str(current_row_number)] = round(reporting_period_data['averages'][i], 2) + ws[col + str(current_row_number)] = round(reporting_period_data['averages'][i], 2) \ + if reporting_period_data['averages'][i] is not None else 'N/A' current_row_number += 1 @@ -218,7 +219,8 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d ws[col + str(current_row_number)].font = name_font ws[col + str(current_row_number)].alignment = c_c_alignment ws[col + str(current_row_number)].border = f_border - ws[col + str(current_row_number)] = round(reporting_period_data['averages_per_unit_area'][i], 2) + ws[col + str(current_row_number)] = round(reporting_period_data['averages_per_unit_area'][i], 2) \ + if reporting_period_data['averages_per_unit_area'][i] is not None else 'N/A' current_row_number += 1 @@ -267,7 +269,8 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d ws[col + str(current_row_number)].font = name_font ws[col + str(current_row_number)].alignment = c_c_alignment ws[col + str(current_row_number)].border = f_border - ws[col + str(current_row_number)] = round(reporting_period_data['maximums'][i], 2) + ws[col + str(current_row_number)] = round(reporting_period_data['maximums'][i], 2) \ + if reporting_period_data['maximums'][i] is not None else 'N/A' current_row_number += 1 @@ -281,7 +284,8 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d ws[col + str(current_row_number)].font = name_font ws[col + str(current_row_number)].alignment = c_c_alignment ws[col + str(current_row_number)].border = f_border - ws[col + str(current_row_number)] = round(reporting_period_data['maximums_per_unit_area'][i], 2) + ws[col + str(current_row_number)] = round(reporting_period_data['maximums_per_unit_area'][i], 2) \ + if reporting_period_data['maximums_per_unit_area'][i] is not None else 'N/A' current_row_number += 1 diff --git a/myems-api/reports/spaceload.py b/myems-api/reports/spaceload.py index 96bf3851..77837326 100644 --- a/myems-api/reports/spaceload.py +++ b/myems-api/reports/spaceload.py @@ -524,13 +524,15 @@ class Reporting: else None) result['reporting_period']['averages_increment_rate'].append( (reporting[energy_category_id]['average'] - base[energy_category_id]['average']) / - base[energy_category_id]['average'] if (base[energy_category_id]['average'] is not None and + base[energy_category_id]['average'] if (reporting[energy_category_id]['average'] is not None and + base[energy_category_id]['average'] is not None and base[energy_category_id]['average'] > Decimal(0.0)) else None) result['reporting_period']['maximums'].append(reporting[energy_category_id]['maximum']) result['reporting_period']['maximums_increment_rate'].append( (reporting[energy_category_id]['maximum'] - base[energy_category_id]['maximum']) / - base[energy_category_id]['maximum'] if (base[energy_category_id]['maximum'] is not None and + base[energy_category_id]['maximum'] if (reporting[energy_category_id]['maximum'] is not None and + base[energy_category_id]['maximum'] is not None and base[energy_category_id]['maximum'] > Decimal(0.0)) else None) result['reporting_period']['maximums_per_unit_area'].append( @@ -542,7 +544,8 @@ class Reporting: result['reporting_period']['factors'].append(reporting[energy_category_id]['factor']) result['reporting_period']['factors_increment_rate'].append( (reporting[energy_category_id]['factor'] - base[energy_category_id]['factor']) / - base[energy_category_id]['factor'] if (base[energy_category_id]['factor'] is not None and + base[energy_category_id]['factor'] if (reporting[energy_category_id]['factor'] is not None and + base[energy_category_id]['factor'] is not None and base[energy_category_id]['factor'] > Decimal(0.0)) else None)