diff --git a/common/python/nomadcore/local_backend.py b/common/python/nomadcore/local_backend.py index 9bdc859fe96abb0a5d6482f8257172c69a506aa7..ee3f543dc8fcdd40237ebafcbec33f6cb70eedf5 100644 --- a/common/python/nomadcore/local_backend.py +++ b/common/python/nomadcore/local_backend.py @@ -202,11 +202,12 @@ class LocalBackend(object): """ pass - def addMatchTelemetry(self, match_telemetry, gIndex = -1): + def addMatchTelemetry(self, match_telemetry, gIndex=-1): """ should be called for outputting match telemetry data: input data, together with capture info """ pass + #=============================================================================== class Results(object): """A wrapper object for the collection of results gathered by a parser. @@ -241,12 +242,9 @@ class Results(object): open_sections = sectionmanager.openSections result = [] for section in open_sections.values(): - data_list = section[metaname] - if data_list is not None: - if len(data_list) == 1: - result.append(data_list[0]) - else: - result.append(data_list) + data = section[metaname] + if data is not None: + result.append(data) if len(result) == 1: return result[0] elif len(result) == 0: @@ -349,10 +347,10 @@ class Section(object): there aren't any. You can search values and subsections. """ res = self.simpleValues.get(metaName, None) - if res: + if res is not None: return res res = self.arrayValues.get(metaName, None) - if res: + if res is not None: return res res = self.subSectionValues.get(metaName, None) return res @@ -361,9 +359,9 @@ class Section(object): if self.backend.store: vals = self.simpleValues.get(metaInfo.name, None) if vals is None: - self.simpleValues[metaInfo.name] = [value] + self.simpleValues[metaInfo.name] = value else: - vals.append(value) + raise Exception("Trying to add values multiple times for metaname {} in section {}. ".format(metaInfo.name, self.name)) def setArrayValues(self, metaInfo, values, offset=None): if self.backend.store: @@ -381,9 +379,9 @@ class Section(object): if self.backend.store: vals = self.arrayValues.get(metaInfo.name, None) if vals is None: - self.arrayValues[metaInfo.name] = [values] + self.arrayValues[metaInfo.name] = values else: - vals.append(values) + raise Exception("Trying to add values multiple times for metaname {} in section {}. ".format(metaInfo.name, self.name)) def addSubsection(self, metaInfo, section): vals = self.subSectionValues.get(metaInfo.name, None)