From 5c46a2433863fca38bcdfbfe6032611af7f853c5 Mon Sep 17 00:00:00 2001 From: Lunaresk Date: Mon, 27 Nov 2023 00:49:21 +0100 Subject: [PATCH] bugfix --- backend/src/establishment/overview/utils.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/backend/src/establishment/overview/utils.py b/backend/src/establishment/overview/utils.py index bdcd26d..51ee4e3 100644 --- a/backend/src/establishment/overview/utils.py +++ b/backend/src/establishment/overview/utils.py @@ -56,6 +56,7 @@ def group_results(results: tuple) -> list: return result_list def sum_entries(grouped_result_list, login_token_dates): + LOGGER.debug("Preparing dict") dict_people_modifier = {} # dict_people_modifier: # {datetime.date(x,y,z): { @@ -64,14 +65,22 @@ def sum_entries(grouped_result_list, login_token_dates): # } # } for tokendate in login_token_dates: - dict_people_modifier[tokendate.activation_date] = dict_people_modifier.get(tokendate.activation_date, {"add":[]}) + if not tokendate.activation_date in dict_people_modifier: + dict_people_modifier[tokendate.activation_date] = {} + if not "add" in dict_people_modifier[tokendate.activation_date]: + dict_people_modifier[tokendate.activation_date]['add'] = [] dict_people_modifier[tokendate.activation_date]["add"].append(tokendate.token) if tokendate.deactivation_date != None: - dict_people_modifier[tokendate.deactivation_date] = dict_people_modifier.get(tokendate.deactivation_date, {"remove":[]}) - dict_people_modifier[tokendate.deactivation_date]["remove"].append(tokendate.token) + if not tokendate.deactivation_date in dict_people_modifier: + if not tokendate.deactivation_date in dict_people_modifier: + dict_people_modifier[tokendate.deactivation_date] = {} + if not "remove" in dict_people_modifier[tokendate.deactivation_date]: + dict_people_modifier[tokendate.deactivation_date]['remove'] = [] + dict_people_modifier[tokendate.deactivation_date]["remove"].append(tokendate.token) list_people_amount_per_date = [{"date": key, "people": value} for key, value in dict_people_modifier.items()] list_people_amount_per_date.sort(key=lambda x: x.get('date')) list_people_per_date = [] + LOGGER.debug("Preparing list") for i in range(len(list_people_amount_per_date)): list_people_per_date.append({'date': list_people_amount_per_date[i].get('date'), 'sum': 0}) if i == 0: @@ -86,13 +95,13 @@ def sum_entries(grouped_result_list, login_token_dates): list_people_per_date[-1]['people'].remove(person) except ValueError as e: LOGGER.debug(f'{person} not in list.') + LOGGER.debug("This is line 91") for result_user in grouped_result_list: relevant_date_index = 0 if result_user.get('id'): for result_date in result_user['item_infos']: # TODO get relevant date index for i in range(relevant_date_index + 1, len(list_people_per_date)): - if list_people_per_date[i].get('date') > result_date.get('date'): LOGGER.debug(f"{list_people_per_date[i].get('date')} > {result_date.get('date')}") relevant_date_index = i-1