From 755b8a3919dc140b07e666e7c3b8d0260ea29317 Mon Sep 17 00:00:00 2001
From: Lauri Himanen <lauri.himanen@aalto.fi>
Date: Tue, 6 Sep 2016 11:31:14 +0300
Subject: [PATCH] Added additional warning to LocalBackend about adding the
 same data multiple times to.

---
 common/python/nomadcore/local_backend.py | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/common/python/nomadcore/local_backend.py b/common/python/nomadcore/local_backend.py
index 9bdc859..ee3f543 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)
-- 
GitLab