backenddb: Fix error in Entity.__getitem__
authorEd Bartosh <eduard.bartosh@intel.com>
Sun, 10 Aug 2014 21:08:01 +0000 (00:08 +0300)
committerLin A Yang <lin.a.yang@intel.com>
Wed, 13 Aug 2014 04:38:12 +0000 (07:38 +0300)
Used deepcopy to avoid modifications of the same dictionary.
This error broke tests in a very strange way: second call
of Entity.__getitem__ raised json exception.

Change-Id: I2ef33d67c4e046d24133d9f60ac5f92d9c5dd4fe
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
common/backenddb.py

index 8995506..9690270 100644 (file)
@@ -69,7 +69,7 @@ class Entity(object):
     def __getitem__(self, key):
         key = "%s%s" % (self._prefix, key)
         if self._db.type(key) == 'hash':
-            value = self._db.hgetall(key)
+            value = deepcopy(self._db.hgetall(key))
             for field in self.jsoned:
                 value[field] = json.loads(value[field])
         elif self._db.type(key) == 'list':