From 84164c9282c8c49297b044d9baf9c3c488b0c82f Mon Sep 17 00:00:00 2001 From: Matthew Richards Date: Tue, 17 Nov 2020 12:15:07 +0000 Subject: [PATCH] #148: Make suggested changes to distinct attribute mapping --- common/icat/query.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/common/icat/query.py b/common/icat/query.py index 21a8dd12..8779dd7f 100644 --- a/common/icat/query.py +++ b/common/icat/query.py @@ -259,16 +259,12 @@ def map_distinct_attributes_to_entity_names(self, distinct_fields, included_fiel if len(split_fields) == 1: # Conventional list assignment causes IndexError because -2 is out of # range of a list with a single element - split_fields.insert(-2, "base") + split_fields.insert(0, "base") # If a key doesn't exist in the dictionary, create it and assign an empty # list to it - try: - distinct_field_dict[split_fields[-2]] - except KeyError: - distinct_field_dict[split_fields[-2]] = [] - - distinct_field_dict[split_fields[-2]].append(split_fields[-1]) + distinct_field_dict.setdefault(split_fields[0], []) + distinct_field_dict[split_fields[0]].append(split_fields[-1]) # Remove "base" key as this isn't a valid entity name in Python ICAT distinct_entities = list(distinct_field_dict.keys())